Skip to content
FreeType

Typing test

Words or real code, keyboard only. The clock starts on your first keystroke and nothing is saved off your device.

0 wpm100% acc0sstart typing…
oil the go any mean said call over so tell make has they then were at has that many know there or in so first me use by down no

Targeted practice

The four numbers, precisely

Words per minute here is net: the count of characters you typed correctly, divided by five, divided by the minutes elapsed. The five-character convention is what makes a WPM figure comparable at all, since real words vary in length — "a" and "internationalisation" would otherwise score the same. Mistakes are simply absent from the numerator, so an error costs you the character rather than incurring a separate penalty.

Raw WPM is the same sum with incorrect characters added back in. The gap between the two is the price of your mistakes, expressed in the same unit as your speed, which makes it easy to see whether slowing down would actually pay.

Accuracy is counted per keystroke, not per finished character. Every key you press is recorded once, and a key that produced the wrong character stays recorded even after you back up and fix it. This is stricter than comparing your finished text to the target, and deliberately so: the correction cost you time, and a measure that forgave it would report a clean run where there was a messy one.

Consistency is derived from the gaps between keystrokes. We take the standard deviation of those intervals, divide it by their mean — the coefficient of variation — and subtract it from one. An even rhythm scores near 100. A run that stalls at hard words and sprints through easy ones scores lower at the same WPM, which is usually the more useful signal about what to practise.

It never needs the mouse

Start typing and the test starts; there is no button to press first. The timer begins on your first keystroke rather than on page load, so reading the passage before you start costs you nothing.

Tab restarts the current test with the same passage, which is what you want when you have fumbled the first line and would rather not have it in the average. Once a run has finished, Enter starts a fresh one with new text. Both work from anywhere on the page, except inside a form field — typing a handle into the leaderboard box should not restart your test.

Where your results go

Every run is written to your browser's local storage and nowhere else. Your history, your per-key error tallies and the heatmap built from them stay on the device that produced them, which is why the dashboard works with no account and why clearing site data erases it permanently.

Two things leave the device, and only when you ask. Submitting to the leaderboard sends the score and the handle you choose. Taking a certificate test sends the keystroke timings, because a score nobody can check is not worth certifying — the server recomputes the result from those timings rather than believing the number the browser reports.

Frequently asked questions

Does the timer start when the page loads?

No. It starts on your first keystroke, so you can read the passage first without it counting against you.

Why did fixing a typo still lower my accuracy?

Accuracy counts keystrokes, not the finished text. The wrong key was pressed, and the time it cost is real, so it stays in the tally even once you have corrected it.

Can I practise without my results being saved?

Use a private window. Results are written to local storage, which a private session discards when you close it.

Wondering how your score compares? See what a given WPM actually means, or drill the keys this test says you miss.

We stand with Palestine.