Five sound packs
Mechanical, Typewriter, Soft, Cream and Pulse, synthesised live with the Web Audio API rather than sampled. No audio files to download, and every press is slightly different so it never sounds looped.
A score on its own is trivia. The useful part is knowing which finger is letting you down, whether your rhythm falls apart in the last ten seconds, and what to practise tomorrow.
Mechanical, Typewriter, Soft, Cream and Pulse, synthesised live with the Web Audio API rather than sampled. No audio files to download, and every press is slightly different so it never sounds looped.
Every key you touch is shaded by how often you miss it, both for a single run and pooled across your whole history. The pattern usually points at one finger rather than one letter.
Accuracy is only half the story. Keystack measures the delay before each keystroke, so it can tell you which keys you hit correctly but slowly.
Net speed plotted against raw speed for every second of the run, with the exact seconds you made errors marked on the line.
A plain-language report on every run: what your accuracy is costing you, whether your rhythm is even, which keys to drill, and one specific thing to do next.
Blind mode hides all feedback while you type. Confidence mode disables backspace entirely. Both are uncomfortable, and both are the fastest way to fix sloppy habits.
JavaScript, Python and SQL snippets with the real punctuation density of working code. Brackets and semicolons are where most developers actually lose time.
Paste anything you want to drill: a speech, a passage in another language, the terminology from your job. It becomes a full test with the same reporting.
Light and dark, with six accents. Each one was validated for contrast and colour-blind separation against the error red, so a wrong keystroke is always visible.
No timer, no word count, no end. Type until you want to stop, then take the full report anyway.
Any run exports as CSV or JSON, including the per-second samples and per-key statistics. Your data is yours, in a format a spreadsheet can read.
Press Command K and change any setting without touching the mouse. Mode, length, theme, sound pack, every toggle.
The test, with the basics.
Everything above, plus the analysis.
There is no checkout behind these buttons. Everything runs locally in your browser, so there is nothing to bill for and nothing to sign up to.
Nothing. Every feature on this page is live and unlocked in this build. There is no payment provider wired up and no account to create.
In your browser, in localStorage, on this device only. There is no server, no account and no analytics. Clearing your browser data clears your history, so export anything you want to keep.
Correct characters divided by five, per minute, where five characters is the standard definition of a word. A correct space after a correctly typed word counts. Full definitions appear under every result.
Accuracy is measured per keystroke as you type, not from the finished text. Typing a wrong letter and correcting it counts as one miss, because that is what it cost you.
The layout adapts down to phone widths, but the test is built around a physical keyboard and keystroke-level timing. A laptop or desktop will give you a meaningful score.