WPM vs CPM vs KPM: why typing speed is measured differently by language
Words per minute rests on two assumptions: that your writing system marks where words end, and that a word is about five characters long. For English both hold. For Thai, Chinese, Japanese and Korean, neither does — and a test that ignores that is measuring something other than your typing.
Three units, three different questions
WPM — words per minute
Characters typed, divided by five, per minute. The five is a convention, not a measurement: it stands in for an "average word" so that a test full of short words and one full of long words produce comparable numbers. It only works when words are a thing your writing system marks.
CPM — characters per minute
Characters typed, per minute, with no division. Nothing about it assumes words exist or that they are any particular length, which is why it is the honest default for scripts that do not put spaces between words.
KPM — keystrokes per minute
Physical key presses, per minute. Different from CPM whenever one visible character takes more than one key — which, on TypingFix, means Korean and only Korean.
The five in "characters divided by five" is worth pausing on, because it is the source of most of the confusion. It is not an average anybody measured on your text — it is a fixed convention, agreed so that scores stay comparable whether a test happens to deal you cat or extraordinary. That convention is a genuinely good idea. It is also inseparable from the kind of language it was designed around.
What each language uses, and why
Every language on TypingFix declares a primary and a secondary metric. Both are always shown, so you can read the number that fits your script and still compare against tests elsewhere.
| Language | Primary | Why |
|---|---|---|
| English, Spanish, French, Hindi Spaces between words | WPM then CPM | Words are marked, so words per minute is meaningful and comparable to every other test in the world. |
| Arabic Spaces between words | CPM then WPM | Arabic does separate words, but its letters change shape by position and a single word carries a lot of characters — characters per minute tracks the actual work more closely. WPM is still shown for comparison. |
| Thai No spaces between words | CPM then WPM | Thai runs words together; where one word ends is a matter of reading, not of typing. Counting "words" would mean counting something the typist never types. |
| Chinese, Japanese No spaces, plus an IME | CPM then WPM | You type romaji or pinyin and an input method converts it into characters. The characters that land on screen are the real output, so those are what get counted. |
| Korean No spaces between syllable blocks | KPM then CPM | A Hangul syllable is assembled from two to five jamo keystrokes. Counting finished syllables understates the work by a factor of three or more, so keystrokes per minute is the fair unit — and Korean typing tests have used it for decades. |
The Korean case, in detail
Korean is the one language where counting characters genuinely misrepresents the work, and it is worth spelling out because it is also the most commonly faked metric on typing sites.
A Hangul syllable is not a single symbol you press once. It is assembled: an initial consonant, a vowel, and often a final consonant — two to five key presses that combine, live, into one block on screen. Count the finished blocks and a typist who pressed 300 keys in a minute might score around 100. The number is not wrong, exactly; it is answering a question nobody asked.
So Korean typing tests count 타수 — keystrokes — and have done for decades. It is the number Korean typists already think in, and a Korean speaker reading a "120 WPM" score would rightly find it meaningless.
One thing worth checking on any typing site
Keystroke counting only exists where the writing system needs it. If a site advertises a keystrokes-per-minute figure for a language where one character is one key press, that number cannot be different from its character count — so either it is the same number under a second name, or it is not being measured at all. It is a quick way to tell whether a typing test was built for a language or merely translated into it.
Frequently asked questions
What is the difference between WPM, CPM and KPM?
Why do Thai, Chinese and Japanese typing tests use CPM instead of WPM?
Why does Korean use KPM rather than CPM?
Does an IME change how my speed is measured?
Which is the "real" measure of typing speed?
Can I convert CPM to WPM?
Does TypingFix show KPM for every language?
Test in the unit that fits your script
Every TypingFix test shows both the primary metric for your language and a secondary one for comparison. The exact formulas are on the methodology page.
Written and tested by
Vishal Parvat
Founder & Developer of TypingFix
Vishal built TypingFix's multilingual typing engine and its scoring system — the same engine that produces the WPM, CPM, accuracy and consistency numbers described on this site. The per-language metric choices described here are the ones the engine actually reads at runtime, taken from its own language catalogue rather than from published guidance.
Published 2 September 2026