How is WPM calculated, and why is my WPM different on every site?

WPM is calculated by counting characters, dividing by five (the standard "word") and dividing by the minutes typed. Tests disagree about which characters count: every character typed (raw WPM), only characters in correct words (net WPM), or a gross figure minus a penalty for errors. Test length moves the number even more than the formula does.

A version of "I score 30 higher on that other site" appears under every typing test on the internet. Nobody is lying. The tests are counting different things over different lengths of time.

We spent much of this project's first month working out those rules, because we had to pick one. Here is what we found, and what we chose to show.

The WPM formula: the five-character word

Every serious typing measure starts from the same convention: a "word" is five characters, spaces and punctuation included. "The cat sat" is 11 characters, so 2.2 words. Characters per minute is five times WPM. Keystrokes per hour, the unit data-entry tests quote, is CPM times 60. Government exams use the same conversion: India's SSC equates 35 WPM with 10,500 key depressions an hour, which is exactly 35 × 5 × 60.

So the WPM formula is: characters ÷ 5 ÷ minutes. The disagreement is about which characters get counted.

Net vs gross WPM, and what raw WPM means

Raw WPM counts every character you typed, right or wrong, divided by five and by the minutes. It's a measure of finger speed. Characters you deleted don't count, but wrong ones left in do.

Net WPM, as we use it, counts only the characters in words you typed completely correctly, including the space after each one. One wrong letter and the whole word contributes nothing. This is the headline number on our results screen. We chose it because a word with a typo is a word somebody has to fix, so it shouldn't count as finished work.

Gross WPM is the older term from office and exam testing. India's CBSE, for example, divides gross words (everything typed) and net words (only correct words) by the minutes, and reports accuracy as net over gross. Another long-standing convention takes gross speed and subtracts the errors made. Count one word per uncorrected error per minute and a word with two errors costs two words, against one word in our net count, so the numbers drift apart on sloppy runs.

One test, five honest numbers

Here is the worked example from our metrics page. A 30-second test: 160 character keypresses, 6 of them wrong, 4 fixed and 2 left in. The final text is 156 characters, of which 154 are right, and 30 of the 32 words are perfect, adding up to 148 characters with their spaces.

Counting ruleWorkingWPM
Raw (every character in the final text)156 ÷ 5 ÷ 0.562.4
Every correct character154 ÷ 5 ÷ 0.561.6
Raw × accuracy62.4 × 0.962560.1
Net, correct words only (ours)148 ÷ 5 ÷ 0.559.2
Gross minus uncorrected errors per minute62.4 - 2 ÷ 0.558.4

Accuracy is (160 - 6) ÷ 160 = 96.25%. Five defensible numbers, a 4 WPM spread, and nobody has made a mistake. On a run at 90% accuracy the gap between raw and net opens much wider, because about half of all words then contain an error. That arithmetic is in what typing accuracy really measures.

The counting rules typing tests use

A test's help page or results screen usually tells you which rule it uses.

RuleWhat the headline countsCompared with our net WPM
Correct words onlyCharacters in fully correct words, spaces included, ÷ 5 ÷ minutesSame rule as ours; small differences on a half-finished last word
Every character typedEverything left in the text ÷ 5 ÷ minutes, accuracy shown separatelySame as our raw WPM
Every correct characterCorrect characters whether or not the word was rightBetween our raw and net
Gross minus errorsGross speed minus a penalty for each uncorrected errorClose to net; lower on sloppy runs
Fix every error before moving onYou can't continue past a wrong letter, so the final text is always rightComparable, usually a little lower
Timed on a serverThe clock runs on the server, so network delay is part of your timeLower on short races over a slow connection
Research (Dhakal et al. 2018)Length of the transcribed text over the time from first to last keypress; uncorrected errors reported separatelyClose to our raw WPM

Three rows deserve a longer look.

Tests that force you to fix each error

Forced correction looks like it should give the same answer as net WPM, since the final text is perfect either way. It comes out lower because every error now costs time on the clock. In the largest study of online typing, the mean gap between keystrokes was 239 ms. A forced fix takes at least a backspace and a retype, two extra keystrokes, or about half a second, plus the moment it takes to notice. Six errors in a one-minute test cost about three seconds, 5% of the run: a 60 WPM typist lands near 57. Our net count drops a wrong word and moves on, which costs no extra time.

Tests timed on a server

Some online tests take the official time on their server, so network delay sits inside your result. The effect is simple arithmetic. On a 30-second race at 100 WPM, half a second of delay gives 100 × 30 ÷ 30.5 = 98.4. A full second gives 96.8, and a two-second stall gives 93.8. If a server-timed result sits well below your number here, run it again on a steadier connection before blaming your fingers.

The research baseline

The Dhakal row is the research baseline. That study (Aalto and Cambridge, CHI 2018) analyzed 136 million keystrokes from 168,960 online volunteers, with a mean of 51.56 WPM. Its WPM comes from the length of the transcribed text, with errors reported as a separate rate, so it sits closer to our raw figure. Compare your net WPM against 51.56 and you're selling yourself short by a few words. Our average typing speed post sets it beside the other research.

Why is my WPM higher on short tests?

We'd assumed the counting rules explained most of the cross-site confusion. Test length usually matters more. Expect a 15-second score to beat a two-minute score from the same person, on the same test, with the same formula. Two pieces of arithmetic show why.

First, nobody holds a sprint pace. Take a typist who opens at 90 WPM for ten seconds, then settles at 70:

Test lengthWorkingWPM
15 seconds(10 × 90 + 5 × 70) ÷ 1583.3
60 seconds(10 × 90 + 50 × 70) ÷ 6073.3
120 seconds(10 × 90 + 110 × 70) ÷ 12071.7

Same typist, same rules, a 12-point spread. It's a model, but our results screen shows the same shape: the per-second chart on a 60-second test almost always slopes down after the first 20 seconds, and the burst color on each word shows which stretch inflated the early number.

Second, short tests magnify small things. On a 15-second test, each five-character word is worth 4 WPM (1 ÷ 0.25 minutes). A lucky run of short words, a half-finished last word or a slow first keypress can each move the score by several points. On a 60-second test the same word is worth 1 WPM, and over two minutes, half that.

Published averages by test length probably also reflect who picks each length, since people chasing a high score tend to choose short tests. Either way, the first question to ask about any WPM is "how long?". You can check yours on the 2-minute test.

Smaller things that move the number

The word list. Some tests draw from a short list of the most common English words. Our word tests use the 1,000 most common words from a subtitle corpus, and the quotes mode uses real passages with capitals and punctuation. Common short words produce higher numbers than prose with proper nouns and commas.

The partial last word. In a timed test the clock ends mid-word for almost everyone. We count what you got right of a half-finished last word. Some tests drop it. On a 15-second test that's worth up to 4 WPM.

Stop-on-error. Some typists want forced correction and some don't, so we made it a setting.

When the clock starts. Ours starts on the first accepted character and, in a word or quote test, stops at the last keypress. Time from page focus to the first key is logged as start latency and doesn't count against you. Tests that start the clock when the page loads shave a word or two off a short test.

Phones. In the Aalto group's mobile study, volunteers averaged 36.2 WPM, about 70% of the desktop study's mean. We keep phone results off the public leaderboards.

What we decided to show

We went with several numbers in a clear hierarchy: net WPM large, raw WPM and accuracy beside it, and a one-line note saying what a test that counts every correct character would have shown. That line exists because of the complaint that opens this article.

The same functions compute every number in your browser and again on our server from the keystroke log.

What to compare

To track your own progress, compare like with like: same site, same mode, same duration, same word list. The history page lets you filter your results by mode and language.

To compare with a friend on another site, pick the duration first and the formula second. A 60-second test is the most common ground; 15-second numbers are the least comparable thing in typing.

To compare with a population figure, check which population. Ordinary office users in Karat's 1999 lab study copied text at 32.5 WPM. Dhakal's 51.56 comes from young, self-selected volunteers measured close to raw. Palin's 36.2 is for phones. Our percentile label names which reference it uses until we have 10,000 results of our own in that bucket.

Frequently asked questions

What is the formula for WPM?

Characters ÷ 5 ÷ minutes. Net WPM uses only characters in fully correct words; raw WPM uses every character typed.

Is net WPM or raw WPM my real speed?

Net WPM is the usable figure, because it counts only words you got right. Raw shows how fast your fingers moved.

Why is my WPM higher on some sites?

Usually the test length or the word list, not the formula. A 15-second test of common short words will beat a two-minute passage with punctuation, even under identical counting rules.

Sources