How do you convert between WPM and CPM?
Divide by five, or multiply by five. That is the whole conversion:
- WPM = CPM ÷ 5
- CPM = WPM × 5
- WPM = characters per second × 12, because 60 seconds divided by 5 characters is 12
Nothing else adjusts. The two units are the same measurement on different scales, in the way that centimetres and inches are the same length on different scales.
| WPM | CPM | Characters per second |
|---|---|---|
| 20 | 100 | 1.67 |
| 30 | 150 | 2.50 |
| 40 | 200 | 3.33 |
| 50 | 250 | 4.17 |
| 60 | 300 | 5.00 |
| 70 | 350 | 5.83 |
| 80 | 400 | 6.67 |
| 100 | 500 | 8.33 |
| 120 | 600 | 10.00 |
The conversion in the other direction is just as mechanical. I. Scott MacKenzie, whose text-entry metrics are the standard reference in human-computer interaction research, gives the worked form as multiplying characters per second by 60 seconds per minute and dividing by 5 characters per word — his own example being 2.10 cps × (60 / 5) = 25.2 wpm ("Measuring Text Entry Speed").
Why is a word counted as five characters?
Because a measurement needs a fixed unit, and real words are not one.
English words run from two letters to twelve and beyond. If a test counted actual words, then typing a cat sat on the mat would score six words while typing extraordinary would score one, even though the second took more keystrokes. The scores would depend on which text you happened to be given, which would make two results incomparable. Fixing a "word" at five characters removes the text from the equation: every five characters you type is one word-equivalent, whatever those characters are.
Three things follow from that, and all three surprise people:
- A long word is worth more than a short one. Typing rhinoceros scores two words; typing I run scores one.
- Punctuation is not free and not penalised — a semicolon counts exactly as much as the letter E.
- Nothing about the convention depends on English. It measures keystrokes and calls every five of them a word.
It is worth being clear about what the convention is not. It is not a measurement of English word length, and the popular explanation that "the average English word is five letters" is folk etymology rather than the reason — average word length varies substantially by corpus, and the convention explicitly counts the trailing space, which no dictionary word contains. No primary source establishes who fixed the five-character standard or when. It is a long-standing convention, it is used almost universally, and that universality is its entire justification: it makes your score comparable to a score from any other reputable test.
Do spaces and punctuation count?
Yes, both. The definition of a word as five characters includes spaces and punctuation, which is why let's talk — nine characters and an apostrophe — counts as two words.
This matters more than it sounds. Word separation is real typing work: the space bar is a keystroke like any other, and on ordinary English prose spaces are roughly one character in six. A test that excluded them would report scores meaningfully lower than every other test, for no better reason than a definitional choice its users could not see.
How a test credits the space is a genuine implementation difference, though. On Keyboardo, the correct-character count that net WPM is built from includes exactly one space per completed correct word — so finishing a word correctly earns you its letters plus its separator, and a word you got wrong earns you its correct letters but not the space after it. That is a small, precise rule, and it is one of several reasons two tests can hand you different numbers for identical typing.
What is the difference between gross, raw and net?
Gross WPM and raw WPM are the same idea under two names: count every printable keystroke you made, right or wrong, divide by five, divide by the elapsed minutes. It is your pure finger speed, and it takes no view on whether what you produced was any good.
Net WPM is gross adjusted for errors, and there are two distinct families of definition in the wild.
Family one — subtract the errors. The older formula common in typing instruction takes gross WPM and subtracts uncorrected errors per minute. Type at a gross 60 WPM for one minute with four uncorrected errors and you score 60 − 4 = 56 net WPM. Type the same thing over two minutes and the four errors are spread across two minutes, so you lose only 2: 60 − 2 = 58 net WPM. Notice that the penalty depends on the length of the test, which is a real awkwardness of this family.
Family two — count what survived. The definition used by Keyboardo and by most modern web typing tests ignores errors as a separate term and simply counts the characters that are correct in your final text. Nothing is subtracted; wrong characters just never contributed. This is the definition behind the arithmetic in the next section, and it has the property that fixing a mistake recovers the characters, while the time you spent fixing it is still on the clock.
Both families produce a number called "net WPM" and they do not agree. If you are comparing two scores from two sites, this is one of the first things to check.
Worked examples you can check
Every line below is arithmetic you can redo on paper.
- 312 correct characters in 60 seconds. 312 ÷ 5 = 62.4 word-equivalents, over 1 minute = 62.4 WPM. That is 312 CPM.
- 180 correct characters in 30 seconds. 180 ÷ 5 = 36 word-equivalents, over 0.5 minutes = 72 WPM. That is 360 CPM — note that the CPM figure is per minute even though the test lasted half of one.
- 100 correct characters in 15 seconds. 100 ÷ 5 = 20, over 0.25 minutes = 80 WPM, or 400 CPM.
- 900 correct characters in 120 seconds. 900 ÷ 5 = 180, over 2 minutes = 90 WPM, or 450 CPM.
- Going the other way: you want to know what 75 WPM demands. 75 × 5 = 375 characters per minute, which is 6.25 characters every second, sustained.
The last one is the most useful conversion to keep in your head, because it turns an abstract score into a physical demand. Every 12 WPM is one more character per second. Going from 60 to 72 WPM means adding a single keystroke to each second — which sounds trivial and is not.
Does any of this change in other languages?
The arithmetic does not, because it never referred to words in the first place. An accented French character such as é is one character; an Arabic letter is one character; five of anything is one word-equivalent. Keyboardo runs tests in English, French and Arabic — with full right-to-left rendering for Arabic — on exactly the same formulas.
What does change is the comparison. Different languages have different average word lengths, different accent and diacritic loads, and different keyboard layouts to reach them on, so a WPM score in one language is not directly comparable to a WPM score in another even though both were computed identically. Compare yourself to yourself within a language, and treat cross-language differences as differences in the text rather than in the typist.
If you want to see the numbers produced live rather than on paper, take a timed test — and how typing speed is measured walks through the exact counts Keyboardo feeds into these formulas, including accuracy and the consistency score.