WPM calculator: characters, time and typing speed

Last updated:

Quick answer

Calculate basic WPM as (counted characters ÷ 5) ÷ elapsed minutes. With seconds, use WPM = counted characters × 12 ÷ elapsed seconds. For example, 250 counted characters in 30 seconds equal 100 WPM. Use elapsed time greater than zero.

Start a free typing test

Calculate WPM step by step

  1. Record the counted characters and elapsed seconds.
  2. Divide the characters by five to get standardized words.
  3. Divide the seconds by 60 to get elapsed minutes.
  4. Divide standardized words by elapsed minutes to get WPM.

If you count 300 characters over 90 seconds, that is 60 standardized words in 1.5 minutes: 40 WPM. The five-character convention lets tests compare text with different word lengths. It does not mean every dictionary word contains five characters.

Convert characters per minute to WPM

Divide characters per minute (CPM) by five. A rate of 300 CPM is 60 WPM; 450 CPM is 90 WPM. To convert WPM back to CPM, multiply by five. Keep the same character-counting rules on both sides of a comparison.

Why the result may differ from Caret WPM

This calculation is a basic rate, not a recreation of Caret's result scoring. Caret distinguishes correctly typed text from raw input. Incorrect input, corrections, unfinished words and test settings can affect the score. Counting every key press, including backspace, as a character does not reproduce scored WPM.

Use the WPM and accuracy shown by the Caret typing test when tracking your practice. Use the formula to understand units or check a sample whose counted characters and elapsed time you already know. Compare runs with the same duration, language, punctuation and mode.

Written for Caret by Caret contributors. Caret is free and open source; view the source or suggest a correction.

:( It seems like the CSS failed to load. Please try clearing your cache to redownload the styles:
Ctrl / Cmd + Shift + R
You could also try to reinstall the service worker:
Reinstall
Various dark mode extensions are also known to cause this issue.
If that doesn't help visit Caret issues on GitHub If the website works for a bit but then this screen comes back, clear your cache again and then in Caret open the command palette (ctrl/cmd + k) and search for "Clear SW cache".