Measure your typing speed in 30, 60 or 120 seconds with the standard words-per-minute formulas. Plain text, live accuracy, saved personal bests, nothing uploaded.
Time left 1:00
Net WPM -
Accuracy -
Her neighbour lent her a ladder, and together they cleaned the gutters before the storm. The tall lighthouse stood on the rocks and its light swept slowly across the dark water. Warm bread, soft butter and a bowl of soup made the cold evening feel much shorter. Pack light, wear comfortable shoes and always keep a spare charger in your bag. Our flight was delayed, so we spent the evening reading magazines and watching planes take off. Traffic moved slowly across the bridge as the morning fog lifted from the river. The library closes at 8 tonight, so return your books early if you can. The market in the old town sells bread, olives, cheese, fresh flowers and handmade soap.
Click the box and start typing. The clock starts on your first keystroke.
Result
Net WPM -
Gross WPM -
Accuracy -
Characters correct -
Errors left -
Mistakes made -
Your saved bests (this browser only)
| Duration | Best net WPM | Tests |
|---|---|---|
| 30 s | - | 0 |
| 60 s | - | 0 |
| 120 s | - | 0 |
One word is 5 characters. Gross WPM = (characters typed / 5) / minutes. Net WPM = (correct characters / 5) / minutes. Accuracy = correct characters / characters typed. Backspace is allowed. Esc restarts the same text; Tab moves out of the box. Pasting is turned off. Right characters have a solid green line under them, wrong characters a wavy rose line, and the next character has a sky-blue bar beside it.
The clock starts on your first keystroke and the test ends when the full time has passed. Each character in the box is compared with the character in the same place in the text, case and spaces included. Net WPM counts only the correct characters, so a wrong character that is still there costs speed through the formula but is not subtracted a second time. Mistakes made counts a wrong character the moment it is typed, even if you fix it later; errors left are the wrong characters still in the box at the end. For the first second the elapsed time is counted as 1 second, so the first keystrokes cannot give a silly number. Results from tests that were cancelled, that held less than one word, or that ran above 500 gross WPM are not saved.
As-is, no warranty. These apps are free under their listed license and run entirely in your browser. Use at your own risk — don't blame me if your PC catches fire, your dog runs away, or the math turns out wrong. Verify anything that actually matters. None of this is professional financial, medical, legal, or engineering advice.
Pick a duration, click the box under the text and start typing. The clock starts on your first keystroke, not before, and the test ends when the time is up. Type exactly what you see, capitals, spaces and punctuation included.
While you type, each character in the passage changes. A correct character gets a soft green highlight and a solid line under it. A wrong one gets a rose highlight and a wavy line under it, so you can tell the two apart without relying on colour. The next character to type has a blue bar beside it. The text itself keeps the normal text colour, so it stays easy to read. Backspace works, so you can fix a mistake or leave it and keep going.
Esc restarts with the same text. New passage and Try again give you different text. If you get within about 100 characters of the end of the passage, more sentences are added, so nobody runs out of text. Pasting is turned off, and the tab being hidden cancels a running test.
At the end you get a result card: net WPM, gross WPM, accuracy, characters correct, errors left and mistakes made, plus a note on your personal best for that duration.
These are the usual typing-test definitions, and they are also written on the page:
Net WPM counts only correct characters, so a wrong character that is still there costs you speed through the formula but is not subtracted a second time. A corrected mistake lowers your pace because you spent keystrokes on it, but it does not appear in accuracy. That is why mistakes made and errors left are shown separately.
The engine is a small set of pure functions and one state machine, with the clock passed in rather than read, so a whole test can be replayed from a list of typed texts and timestamps.
The test suite checks the formulas against known values, replays scripted tests with timestamps, throws hostile strings (emoji, combining marks, newlines, very long text) at the comparison, and checks the sentence bank is plain ASCII with sensible lengths and no duplicates.
Nothing is uploaded and there is no account. What you type is compared in memory and is never stored. Your best net WPM and the number of finished tests for each duration are saved in your browser’s local storage, as small numbers inside a small JSON object, under one key. Only tests that ran the full time, held at least one word and stayed at or under 500 gross WPM are counted. Clearing site data, or the Clear saved results button, removes them.
Everything runs locally in your browser.
For informational purposes only. Not financial, medical, or legal advice. You are solely responsible for how you use these tools.