Everything you need to know about iType.
All v2 accounts and results were migrated to v3. Log in with the same email address. If your stats look different, note that v3 uses a more accurate WPM formula — scores may be slightly lower than v2 displayed.
During migration, usernames that conflicted were suffixed with a number. Contact support if yours was affected.
Username, email address, and test results (WPM, accuracy, keystrokes). No payment data is collected. Gravatar emails are stored separately and only used to fetch your avatar from gravatar.com.
Yes. Go to Settings → Account → Danger Zone → Delete Account. This permanently removes your profile, results, and all associated data within 24 hours. This action cannot be undone.
We use essential cookies (login session) and optional analytics/preference cookies. You can manage these via the cookie consent banner or Settings.
WPM = Math.round(((correctChars + correctSpaces) × perMinute) / 5) — where "perMinute" is the inverse of elapsed minutes and 5 represents the standard average word length in characters. Only correctly typed characters count.
WPM Raw = Math.round(totalChars × perMinute / 5) — includes both correct and incorrectly typed characters. It shows your gross speed before accuracy penalty.
Keystrokes Per Minute — Math.round(correctKeystrokes × perMinute). Backspace/delete keystrokes are excluded from the net KPM count. KPM Raw includes all keystrokes.
A measure of how steady your typing speed was throughout the test. Calculated as 100 minus the coefficient of variation (standard deviation ÷ mean) of your per-second KPM samples. A score of 100% means perfectly even speed; lower scores mean more variation.
Some languages require modifier keys or multi-key sequences to produce a single character, so they are counted as multiple keystrokes for fairness. Examples: Catalan à counts as 2 (À as 3), French â counts as 2 ( as 3) and Œ as 5 via Alt+0140, German ä/ö/ü count as 2, and Chinese/Japanese characters can count up to 10 (a 5× multiplier). Czech, Danish, Dutch, Esperanto, Galician, and Greek accented characters count 2–3. Any uppercase letter adds +1 for the Shift key.
Full weights are implemented in @typer/engine. When in doubt, refer to the engine source for the authoritative per-character values.
Only verified results appear publicly. Your result is verified server-side by replaying your keystrokes. If the replay doesn't match your submitted stats (e.g., WPM is inconsistent with keystroke timing), it is excluded silently. You still see your local result.
Competition leaderboards show your best verified result. If your fastest run failed verification, the next-best verified run is shown instead.
Click or tap inside the typing area to focus it. On mobile, tap the area to bring up the virtual keyboard. If Caps Lock is on, a warning badge appears above the text — press Caps Lock to disable it.
The timer starts on your first keystroke, not on page load. The test is always ready and waiting; you control when it begins.