The faint line is the raw instantaneous speed — the gap between two keystrokes, turned into a rate. It is violently noisy, because one hesitation between two letters is a rate of 12 wpm and a fast digraph is 300. Every typing test you have used smooths this before showing it to you. Here you choose how.
A fitted distribution, not a survey — a lognormal pinned to two widely published anchors: a median around 40 wpm, and roughly the top 1% above 100. Treat the percentile as indicative. It rests on two numbers.
Median time from the previous key to this one, per character. Medians rather than means, so one interruption while you looked away does not brand a letter as slow.
Releases in which this page changed, newest last. Derived from the archived copy of every release, not from notes written afterwards — so it reflects what actually shipped. Site-wide passes are left out; they are in the full changelog.
Not an average word: a fixed five characters, spaces included. Every quoted typing speed is (characters ÷ 5) ÷ minutes, so people typing different text can be compared at all.
Gross counts everything you typed. Net subtracts a word for each uncorrected error, per minute. Harsh on purpose: ignoring wrong characters would flatter people who type fast and badly.
One gap between two keys is almost pure noise, so every live readout is filtered. The filter is a real trade you can drive: moving average, exponential, or median.
The share of keystrokes that were the right character. Separate from speed, and the one most people should work on first: an error is paid for twice.
Net speed docks a whole word for each uncorrected mistake in a minute. But correcting one is not free either: the backspacing and retyping eat into the gross figure as well. Accuracy is almost always the cheaper improvement, and the one that survives contact with real work.
A moving average lags by half its window: a 9-keystroke average shows where you were 4 keystrokes ago. An exponential average responds sooner but never fully arrives at a new level; an alpha of 0.2 has the same average data age as that 9-point window. A median is the only one a single outlier cannot move: one long pause shifts a 9-point mean by a third of the pause and the median by nothing, and it needs only half its window to accept a genuine change of pace.
The fastest instant on the chart is noise. The number worth quoting holds up over a whole passage: drag the smoothing window and watch how much of your peak was never really there.
Fifteen seconds measures a sprint you can hold through one clean phrase; two minutes measures what you actually type with, including the moment you lose your place and recover. If two results disagree, the longer one is the honest one. And switch to code or numbers: the same fingers produce a different wpm because the divisor stopped matching the material. A typing speed quoted without saying what was typed does not mean very much.
The table sorts by median delay alone, so an awkward character you hit twice can outrank one you hit forty times. The count beside each key is the other half of the story: the key worth drilling is a slow one that appears often.
The percentile comes from a distribution fitted to two published anchor points, not a survey, and not from other people’s results on this page: nothing you type is sent anywhere or stored. Copying text, which is what this measures, is much faster than composing it, so this is not your writing speed. Nothing accounts for keyboard, layout, language or whether you can see the keys. And the variation between two runs of your own is usually larger than the gap between two adjacent bands.
Consistency: how steady the rhythm was, the spread of your keystroke intervals against their own middle; lower is steadier. Lag: how far behind the truth a filter is; every smoother has it, the question is how much you pay. Percentile: the share of typists slower than you, from a fitted distribution: indicative, not a census.
Five characters, spaces included — a fixed convention, not an average. It exists so that two people typing different text can be compared at all. For English prose it is about 14% generous: a real word plus its space is about 5.7 characters, so a 60 wpm result is roughly 53 English words a minute.
Gross counts everything you typed. Net docks a whole word for every uncorrected error, per minute — five mistakes in a minute costs five words. It is harsh on purpose: simply ignoring wrong characters would flatter people who type fast and badly.
Because the rate from one gap between two keystrokes is almost pure noise — a 100 ms gap reads as 120 wpm and a half-second pause as 24. Every live readout is smoothed, and the smoothing controls let you see the trade: a moving average lags by half its window, an exponential average responds sooner but never fully arrives, and a median ignores a single long pause entirely.
Because the long one is the honest one. Fifteen seconds measures a sprint you can hold through one clean phrase; two minutes includes the moment you lose your place and recover, which is the thing you actually type with.