How TypeFast.io works
This page describes exactly what the test does, and how each number on the results screen is computed. If you want to interpret your scores rather than just chase a higher WPM, the formulas below are the source of truth.
The test loop
When the page opens, a stream of words is generated from the active word list. The first word is centered under your cursor. As soon as you type your first character the timer starts. Each space (or Enter) you press submits the current word, marks it correct or incorrect, and advances to the next word. The stream auto-extends, so you never run out of words before the timer ends.
When time is up, the input is disabled, your final stats are shown, and you can click the reload icon (or press Tab + Enter) to start a fresh test with a freshly generated word stream.
Words per minute (WPM)
The standard typing-test convention defines one "word" as five characters, including spaces and punctuation. TypeFast.io uses that convention so your scores are comparable to other tests:
WPM = (correct characters / 5) / (elapsed seconds / 60)
Only correct characters count. A character is "correct" if it matches the expected character at its position in the expected word. A character that appeared in the right position but inside an otherwise-incorrect word is still counted as correct, so you get partial credit for typos you noticed too late. The trailing space that completes a fully-correct word counts as one extra correct character. The trailing space of an incorrect word does not.
Characters per minute (CPM)
CPM is the same idea without the divide-by-five step: CPM = correct characters / (elapsed seconds / 60). WPM is just CPM divided by 5. CPM is more useful when comparing performance across languages with different average word lengths.
Character accuracy and word accuracy
Character accuracy is correct characters / (correct + incorrect characters). This rewards careful typing per-keystroke. Mistyping then correcting still counts the wrong character against you. Backspaces don't erase history.
Word accuracy is fully correct words / total submitted words. This is harsher: one stray character makes the whole word incorrect. Backspacing to fix a word before submitting it does help word accuracy, because the final submitted word is what's checked.
Word mode vs sentence mode
Word mode (the default) generates random words from the active word list. Use it to drill raw speed without punctuation getting in the way.
Sentence mode pulls real sentences from a separate sentence list, with capitalisation and punctuation intact. Use it to practice realistic typing rhythm: capital letters, commas, periods, apostrophes, the way you'd actually write an email or report.
Languages and custom word lists
TypeFast.io ships with built-in word and sentence lists for several languages. You can also load your own text file (any plain .txt) via the preferences menu. Custom files are processed locally in your browser and cached for the session; the file never leaves your device. See the privacy page for the full picture.
Ignore accents and ignore casing
Two optional rules in preferences relax what counts as "correct":
- Ignore accents. Typing
cafewhen the expected word iscaféis counted as correct. Useful when you're using a keyboard layout that doesn't easily produce diacritics. - Ignore casing. Character comparisons become case-insensitive. Useful for sentence mode if you don't want to chase shift keys for capitalisation while building base speed.
Both rules apply to the live colour feedback as you type and to the final accuracy calculation. If you enable them, your "ignore" settings appear next to your results so you don't accidentally compare a relaxed score to a strict one later.
Want to put this into practice? See the typing tips page for techniques that improve real-world speed.