How Scoring Works
A transparent breakdown of how WPM, accuracy, score, and leaderboard rankings are calculated.
The Score Number
Your Score is the headline number used for leaderboard rankings and personal bests. It is not the same as raw WPM — it rewards you for choosing harder configurations:
Score = Net WPM × Difficulty Multiplier
A player typing at 60 WPM on Hard with all modifiers active earns a higher score than a player typing at 80 WPM on Easy with no modifiers. This makes the leaderboard a fair measure of overall skill rather than just raw finger speed.
Difficulty Multipliers
Every test has a base multiplier determined by its difficulty setting, plus a bonus for each active modifier:
| Setting | Multiplier | Example — 80 WPM |
|---|---|---|
| Easy | ×1.00 | Score: 80 |
| Easy + Numbers | ×1.10 | Score: 88 |
| Easy + Punctuation | ×1.10 | Score: 88 |
| Easy + Numbers + Punctuation | ×1.20 | Score: 96 |
| Medium | ×1.25 | Score: 100 |
| Medium + Numbers | ×1.35 | Score: 108 |
| Medium + Punctuation | ×1.35 | Score: 108 |
| Medium + Numbers + Punctuation | ×1.45 | Score: 116 |
| Hard (forces Numbers + Punctuation) | ×1.70 | Score: 136 |
Hard mode automatically enables both Numbers and Punctuation when the test starts — you cannot play Hard without them.
Why Harder = Higher Multiplier
Each setting increases cognitive and motor demand in a specific way:
- Easy → Medium → Hard text: The text difficulty increases from beginner common words through everyday vocabulary to complex prose and punctuation-heavy sentences. Harder text requires greater pattern recognition and more precise finger placement.
- +Numbers modifier (+0.10): Numbers break typing rhythm. Most touch typists slow significantly when switching between alphabetic keys and the number row, requiring deliberate repositioning.
- +Punctuation modifier (+0.10): Punctuation characters (commas, periods, apostrophes, colons) sit on shift combinations and edge keys. Hitting them accurately without breaking flow is a distinct skill separate from alphabetic typing.
Net WPM — The Base Speed
A "word" is standardized as 5 characters, following the industry standard for fair comparison across texts of different length and vocabulary. The engine tracks four character types:
- Correct: Characters that matched the target.
- Incorrect: Characters that did not match.
- Extra: Characters typed beyond the end of the target word.
- Missed: Characters skipped when you advanced to the next word early.
Spaces count as correct characters when you advance correctly.
- Gross WPM = (correct + incorrect + extra) ÷ 5 ÷ minutes elapsed — raw finger speed.
- Net WPM = correct ÷ 5 ÷ minutes elapsed — speed after errors are removed.
Only Net WPM feeds into your Score. Typing fast but inaccurately produces a lower net WPM, which lowers your Score, discouraging speed-at-any-cost strategies.
Accuracy
Accuracy (%) = correct ÷ (correct + incorrect + extra) × 100, rounded to the nearest whole number. Accuracy is displayed separately from Score and is not folded into the multiplier — it is an independent measure of precision.
Consistency
Consistency measures how stable your speed was throughout the test. It is calculated as:
Consistency = 100 − (standard deviation of per-second WPM ÷ mean WPM × 100)
A score of 100% means your WPM was identical every second. A score of 70% means you had noticeable bursts and slowdowns. High consistency is a sign of controlled, even typing rather than alternating between sprints and pauses.
Personal Best and Leaderboards
Your personal best and all leaderboard rankings use your Score (Net WPM × multiplier), not raw WPM. This means:
- A 60 WPM run on Hard (Score: 102) ranks above a 90 WPM run on Easy (Score: 90).
- Switching to a harder configuration is always worth it if you can maintain a comparable WPM — the multiplier more than compensates for any speed reduction.
- Anti-cheat validation runs before any score is accepted. Results with impossible speeds, suspiciously uniform keystroke timing, or implausible accuracy are flagged and excluded from all rankings.
Time Measurement
Time is measured from your first keystroke to test completion using performance.now() for sub-millisecond precision. Elapsed time shown in results is rounded to the nearest second.
XP and Levels
Every completed test earns XP based on your net WPM, duration, accuracy, and mode. XP accumulates to unlock levels and titles. See the full levels and XP table for thresholds, titles, and how XP is calculated per test.