Guides

WPM vs CPM vs KPM: why typing speed is measured differently by language

Vishal Parvat · · 7 min read

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?
WPM counts characters divided by five, per minute — the five standing in for an average word. CPM counts characters per minute directly, with no division. KPM counts physical key presses per minute, which differs from CPM only when one visible character needs more than one key. They are three different questions: how many word-units did you produce, how many characters, and how many times did your fingers move.
Why do Thai, Chinese and Japanese typing tests use CPM instead of WPM?
Because those writing systems do not put spaces between words. WPM is built on the idea that a word is a countable unit five characters long — an assumption that simply does not hold when the text runs continuously. Measuring characters per minute avoids inventing a unit the typist never typed. TypingFix still shows WPM alongside it so you can compare against tests in other languages, but CPM is the number that reflects what actually happened.
Why does Korean use KPM rather than CPM?
A Korean syllable block is assembled from individual jamo — typically two or three key presses, sometimes five. If you count finished syllables, a typist producing 300 keystrokes a minute might score around 100, badly understating the work. Keystrokes per minute measures what the fingers did. This is not a TypingFix invention: 타수 (keystrokes per minute) is the standard measure in Korean typing tests.
Does an IME change how my speed is measured?
It changes when a result is committed, not how it is counted. On Chinese and Japanese, a word is scored the moment your input method finalises it rather than when you press space — otherwise the romaji or pinyin you type on the way there would be compared against the characters you meant, and you would be charged errors for typing correctly. The characters that end up on screen are what the metric counts.
Which is the "real" measure of typing speed?
None of them universally — that is the point. Each is the right unit for a particular writing system, and comparing a CPM number to a WPM number is a category error, like comparing kilometres to miles without converting. Compare your speed to your own previous results in the same unit, or to other typists in the same language.
Can I convert CPM to WPM?
Roughly, by dividing by five — that is the definition. But treat the result as an approximation rather than a translation, because the five-character convention was built around English-like words. For a script whose characters carry much more meaning each, dividing by five produces a technically valid number that does not mean the same thing it means in English.
Does TypingFix show KPM for every language?
No. KPM is shown for Korean only, because Korean is the only language on the site where one visible character regularly takes several keystrokes. For every other language the engine does not produce a keystroke count at all — so if you see a typing site advertising KPM for, say, Spanish or Japanese, it is worth checking whether the number is really being measured or just re-labelled from something else.

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