MetricRally

How WPM Is Calculated

The exact formula behind words per minute, raw WPM, accuracy, and how MetricRally scores typing speed.

Published 2026-09-12 · Updated 2026-09-13

Take the Typing Speed Test →

Words per minute (WPM) is the standard metric for typing speed. But the formula behind it isn't obvious — it doesn't actually count whole words. This guide explains exactly how WPM is calculated and how MetricRally scores your typing.

The WPM Formula

The standard WPM formula is:

WPM = (correct characters ÷ 5) ÷ elapsed minutes

The "5" comes from the assumption that an average English word is 5 characters long (including spaces and punctuation). So instead of counting actual words — which vary wildly in length — the formula normalizes by character count. Typing 200 correct characters in 1 minute = 200 ÷ 5 = 40 WPM.

Correct Characters vs Raw Characters

MetricRally calculates two separate WPM values:

  • WPM — based on correct characters only. This is your effective typing speed. If you type 200 characters but 20 are wrong, only 180 count toward WPM.
  • Raw WPM — based on all characters typed, including errors. This shows your raw speed before accuracy is applied.

The gap between WPM and Raw WPM reveals how accuracy affects your effective speed. A small gap means you're typing fast and accurately. A large gap means errors are slowing you down.

Accuracy Formula

Accuracy = (correct characters ÷ total typed characters) × 100

If you typed 200 characters and 180 were correct, your accuracy is 180 ÷ 200 × 100 = 90%. MetricRally shows accuracy to one decimal place.

How Backspace Works

MetricRally supports backspace. When you delete a correct character, it's removed from your correct count. When you delete an incorrect character, it's removed from your incorrect count. This means you can fix mistakes during the test. However, the initial error is still recorded in your error total — so backspacing doesn't fully erase mistakes from your stats, it just lets you continue typing from the correct position.

When the Timer Starts

The timer starts on your first typed character, not when the page loads. This means your reaction time to begin doesn't affect your WPM. If you take 3 seconds to start typing in a 30-second test, you still get the full 30 seconds of typing time.

MetricRally's Implementation

MetricRally uses performance.now() for timing, which provides high-resolution, monotonic timestamps. The elapsed time is measured from your first keystroke to either the time limit or text completion, whichever comes first.

The test text is drawn from a pool of English prose passages. For 15-second tests, shorter passages are used; for 60-second tests, multiple passages are concatenated to provide enough text. The text changes each session so you can't memorize it.

Duration and Personal Bests

MetricRally offers 15, 30, and 60-second durations. Personal bests are tracked separately for each duration because shorter tests naturally produce higher WPM (less fatigue). A 15-second result of 80 WPM is not directly comparable to a 60-second result of 70 WPM — the 60-second result may represent better sustained typing ability.

Example Calculation

Suppose you type for 30 seconds and produce:

  • 165 correct characters
  • 15 incorrect characters
  • Total: 180 characters typed

WPM = (165 ÷ 5) ÷ 0.5 = 33 ÷ 0.5 = 66 WPM

Raw WPM = (180 ÷ 5) ÷ 0.5 = 36 ÷ 0.5 = 72 Raw WPM

Accuracy = (165 ÷ 180) × 100 = 91.7%

Ready to put this into practice? Take the Typing Speed Test and see your WPM, raw WPM, and accuracy in action.

Ready to test yourself?

Take the 3-minute benchmark or pick any individual test.