What is a good typing speed?
Benchmarks vary by experience and task. Below are practical ranges drawn from common user groups and workplace roles, followed by explanations of how to interpret WPM, accuracy, and related measurements.
Benchmarks by experience / role
- Beginner: 15–30 WPM — learning touch-typing or relying on hunt-and-peck.
- Casual computer user: 30–45 WPM — comfortable with email, social media, and basic documents.
- Student: 35–55 WPM — frequent typing for homework and notes, variable by discipline.
- Programmer / Developer: 35–65 WPM (often lower CPM for code) — coding includes symbols and cognitive pauses.
- Writer / Journalist: 50–80 WPM — experienced writers usually sustain higher speeds on prose.
- Data-entry worker: 60–90 WPM (or high CPM) — repetitive fields and templates yield high throughput with strong accuracy requirements.
- Professional typist / transcriptionist: 70–100 WPM — trained for speed and accuracy on specific content types.
- Competitive typist: 100–160+ WPM — top performers in competition settings.
WPM vs accuracy
WPM measures speed; accuracy measures correctness. High WPM with low accuracy can be less valuable than a lower WPM with high accuracy because errors require correction and reduce usable output. Report both metrics together and prioritize net-style WPM for practical comparisons.
Gross vs net WPM
Gross WPM counts all characters typed, regardless of mistakes. Net WPM subtracts the impact of errors (either by counting only correct characters or applying an error penalty). Net WPM better represents usable typing performance because it reflects how much correct text you produce per minute.
Why programming WPM is different
Code contains many short tokens, punctuation, and mixed-case identifiers. Typing code often involves more mental retrieval (remembering syntax, variable names) and context switching, which lowers sustained WPM compared to prose. For code-heavy work, CPM and error rate on symbols are often more informative than prose-style WPM.
Why punctuation changes results
Punctuation counts as characters and often requires extra keystrokes or modifier keys. Texts heavy in punctuation (code, URLs, data) inflate CPM relative to readable prose and can lower net WPM because punctuation mistakes are common. When comparing across tests, use similar text types or prefer CPM for symbol-rich domains.
Why 95 WPM @ 85% isn't necessarily better than 75 WPM @ 98%
Consider usable output: 95 WPM at 85% accuracy produces a lot of errors that must be fixed, which reduces effective throughput. By contrast, 75 WPM at 98% accuracy yields more correct text per minute. A simple approximation: usable characters per minute ≈ CPM × accuracy. Use net WPM or pair WPM with accuracy to judge which result is truly more productive.
How test duration changes results
Short tests (10–30s) are noisy and amplify luck and reaction-time effects; longer tests (1–5 minutes) yield more stable measurements. Short bursts are excellent for drills, but use multi-run averages or longer sessions to benchmark progress reliably.
How to interpret your TypeDude results
- Look at net WPM alongside accuracy; prefer net WPM for real-world comparisons.
- Compare tests of similar length and content (prose vs code) to avoid apples-to-oranges comparisons.
- Use multiple runs and median/average values rather than single-test highs.
- If your accuracy is low, prioritize targeted accuracy drills before pushing for higher WPM — see Practice plans.
Final advice
Benchmarks help set expectations, but focus on the metrics that matter for your work. For prose, WPM
+ accuracy is a good signal; for code or data entry, include CPM and symbol error rates. Use consistent
tests over time and measure progress with a short log to guide practice.
These are practical benchmark ranges rather than scientifically established categories. Typing speed
varies substantially with text type, keyboard layout, experience, language, and test methodology.