about keyoke
what this is
A typing test. One person, one browser: there is no account to make, no server to sync with, and nothing you type is sent anywhere.
how the numbers work
Typing speed has a convention behind it, and most sites do not say which parts of it they follow. These are the exact rules here.
wpm
Correctly typed characters, divided by five, divided by minutes elapsed. The division by five is the standard normalisation for a “word”, so that typing a is not worth the same as typing encyclopedia.
- The space between words counts. It belongs to the word it follows, and leaving it out understates every score by roughly a fifth.
- A word counts only if the whole word is right. One wrong letter forfeits it, which is why raw and net can diverge sharply.
- The word still in progress is the exception: a correct prefix counts, so a timer expiring mid-word does not discard what you had typed.
raw
The same calculation over everything you typed, right or wrong. The gap between raw and wpm is the cost of your mistakes.
accuracy
Correct keypresses over total keypresses, counted as you type rather than compared against the finished text.
- A mistake you notice and fix still counts against you. Accuracy measures your typing, not your proofreading.
- Pressing space is an error only when it leaves a word short. A word that is merely mistyped has already been charged for the wrong letter, and charging the space too would bill one typo twice.
chars
Four counts: correct, incorrect, extra (typed past the end of a word), and missed (skipped by moving on early).
modes
- time — type until the clock runs out. Words keep coming.
- words — a fixed number of words, however long it takes.
- quote — a passage from a public-domain source.
modifiers
- punctuation — sentence casing, commas, full stops, and the occasional bracketed or quoted word.
- numbers — numeric tokens mixed into the text.
- drill — see below.
drill
Every test records which characters you missed, and which transitions — pairs of adjacent characters — you missed them on. Transitions matter more than individual keys: what is hard to type is usually the movement between two letters rather than either letter alone.
With drill on, word selection is weighted toward the transitions you miss most. It is weighted, not filtered: every word keeps a chance of appearing, so a drill still reads as a typing test instead of the same few words over and over.
Rankings use a rate adjusted for how much evidence there is, not a raw count and not a raw rate. Ranking by count would just list the commonest letters for everyone. Ranking by raw rate would let a key you tried twice and missed once sit at the top forever. A key needs at least 12 attempts before it is reported at all, and old counts fade so a weakness you have since fixed stops being drilled.
With no history yet, drill has nothing to act on and words are chosen normally.
typing dna
Typing DNA is what every test you have taken adds up to: per-key and per-transition timing, which hand and finger standard touch typing expects for each key, how long you take to get going again after a mistake.
Nothing there is stated until there is enough of it to state. Every figure carries a count behind it, and below five observations you get how many more tests it needs instead of a number — worked out from how fast that particular figure has actually been accruing for you, not from an average typist. A figure between five and twenty observations is shown with a ? next to it, meaning it is real but thin.
Two things it deliberately will not do. It will not compare your hands and tell you one is slower: on a single test, two hands that are genuinely identical can measure 23% apart purely by chance, so the difference is shown next to what noise alone produces and left for you to read. And it does not report your best ever burst, but the middle of your tests — a best only ever goes up, so within a week it stops describing how you type and starts describing one good second you had.
keyboard
- tab — restart the test
- backspace — within the current word, or back to the previous one if it had errors
- ctrl . — focus mode, which hides everything except the words and the timer
your data
Everything stays in this browser, in localStorage. Nothing is uploaded, and there is no analytics or tracking. Clearing your browser data clears it permanently, and it does not follow you to another device.
The keys below still begin fasttyping-, which is what this site was called before it was keyoke. They were deliberately left alone: renaming a storage key does not move what is inside it, so anyone who had typed here before the rename would have opened a new name to an empty profile and lost every result they had. The prefix is a leftover, and keeping it is the reason your history survived.
fasttyping-history— your last 500 results, plus your best per mode. Bests are kept separately so they survive older results rolling off.fasttyping-keystats— per-character and per-transition hit and miss counts.fasttyping-sessions— a compressed keystroke log per test, for the last 500. This is what typing dna is worked out from, and it is capped by size as well as by count so it cannot crowd out the rest.fasttyping-theme— the theme you picked.fasttyping-focus— whether focus mode is on.fasttyping-config— the mode you last chose, so a reload does not put you back on the default. Deliberately not the practice target, which is worked out fresh each time.fasttyping-size— the text size you picked, from the command palette (ctrl k).fasttyping-custom-text— the last passage you pasted into custom mode, kept so that reopening the app does not lose it. It is the only place your own writing is stored, it never leaves this browser, and clearing your data removes it with everything else.fasttyping-style— read, but no longer written: a visual style switcher that once existed was removed. It is listed because an older profile can still hold it, not because anything sets it now.
Runs shorter than a second are discarded rather than recorded, since a test abandoned and restarted produces a nonsense rate from a handful of keystrokes.
quotes
Quote mode draws on public-domain works:
- Abraham Lincoln, The Gettysburg Address
- Arthur Conan Doyle, A Scandal in Bohemia
- Arthur Conan Doyle, The Five Orange Pips
- Bram Stoker, Dracula
- Charles Dickens, A Tale of Two Cities
- Charlotte Bronte, Jane Eyre
- Edward Bulwer-Lytton, Paul Clifford
- H. G. Wells, The Time Machine
- Henry David Thoreau, Walden
- Herman Melville, Moby-Dick
- Jane Austen, Pride and Prejudice
- Lewis Carroll, Alice's Adventures in Wonderland
- Mary Shelley, Frankenstein
- Oscar Wilde, The Picture of Dorian Gray
- Shakespeare, Hamlet
- The Declaration of Independence