Session Inputs
Results
Formula Used
Core definitions:
duration_hours = h + m/60 + s/3600active_hours = max(duration_hours − break_min/60, 1/3600)net_keys = max(total_keys − corrections, 0)
Metrics:
Gross KPH = total_keys / duration_hoursNet KPH = net_keys / duration_hoursActive KPH (gross) = total_keys / active_hoursActive KPH (net) = net_keys / active_hoursKPM = Gross KPH / 60WPM estimate = (net_keys / duration_hours / 60) / (chars_per_word)Efficiency % = 100 × net_keys / max(total_keys,1)Quality = 1000 × corrections / max(total_keys,1)
Tip: Use “active” time to normalize productivity when breaks are significant.
How to Use This Calculator
- Enter the total recorded keystrokes for your session.
- Enter backspaces or fixes in Corrections to compute “net” throughput.
- Set the session length in hours, minutes and seconds.
- Add Breaks / inactive time to normalize using Active KPH.
- Press Calculate or type in any field to see instant results.
- Use the export buttons to download a CSV snapshot or a formatted PDF.
Example Data Table
Illustrative sessions to benchmark typical ranges across activities.
| Date | Session | Keys | Corrections | Duration (hh:mm:ss) | Breaks (min) | KPH | Active KPH | Notes |
|---|---|---|---|---|---|---|---|---|
| 2025-08-28 | Blog drafting | 5200 | 300 | 02:10:00 | 20 | Mixed research | ||
| 2025-08-27 | Data entry | 7800 | 120 | 01:45:00 | 5 | Numeric heavy | ||
| 2025-08-25 | Coding | 6400 | 450 | 03:00:00 | 30 | Debug session | ||
| 2025-08-22 | Chat support | 4100 | 150 | 01:20:00 | 10 | Short replies | ||
| 2025-08-20 | Report writing | 9000 | 600 | 04:00:00 | 40 | Polished draft | ||
| 2025-08-19 | Transcription | 10500 | 200 | 02:45:00 | 0 | Audio to text |
FAQs
Any key press your tool records—letters, digits, punctuation, navigation, modifiers, function keys. Ensure your counter’s scope is consistent across sessions.
Net subtracts fixes and backspaces to reflect effective throughput. Gross shows raw activity, helpful for effort or fatigue analysis.
Use active time when long pauses exist. Wall‑clock time is fine when breaks are minimal or you want an overall pace.
It’s an estimate using characters per word (default 5). Domains with many symbols or numbers may need a different factor.
Yes. Use the example table per task type. Maintain role‑specific targets and compare Active KPH to account for pauses.
Use the CSV or PDF buttons to export the current session metrics and the example table. The PDF includes a timestamped header.