Test your typing speed on real passages in 20 languages: live WPM, accuracy and errors, race a pace bot from 30 to 100 WPM and save your best per mode.
Most typing tests show a stream of random common words. This one hands you a real passage, with capitals, numbers and punctuation, because that is what you actually type at work. It times you, counts every keystroke, and lets you race a pace bot so there is someone to beat besides your last score.
The opening passage begins “The finance team met with Dr. Alvarez before the 9 a.m. review.” Passages come in 20 languages, including Bangla, Hindi, Arabic and Japanese, so you can test in the script you work in; each language keeps its own best score.
A “word” in typing tests is any five characters, spaces and punctuation included. Net WPM is correct characters ÷ 5 ÷ minutes, so typing the 43-character pangram “the quick brown fox jumps over the lazy dog” perfectly in one minute scores 8.6 WPM. Raw WPM counts every character typed, right or wrong. Accuracy is measured per keystroke, not on the final text: a wrong letter you delete and retype still counts as one miss, which is why accuracy can sit below 100% even when the text ends up perfect.
Pasting into the box is blocked, so the speed is your own. Timed tests add another passage whenever you reach the end, so a fast typist never runs out of text. On a phone the on-screen keyboard and autocorrect slow everyone down, and autocorrect is switched off in the box for that reason. Curly quotes, long dashes and ellipses in a passage are turned into the plain keys you can find on a keyboard. Speed under one second is shown as 0, since a single fast keystroke would otherwise read as an absurd number.
Test
Race a pace bot
Time left
60s
WPM
0
Accuracy
100%
Errors
0
Start typing — the clock starts on your first key
When time is up the sound repeats, the tab title flashes and phones vibrate. Click or press any key on the page to stop it. Browsers only allow sound after you have clicked on the page once, so press Test sound if you will leave this tab untouched.