How this typing speed test calculates WPM
This test uses the common typing-test convention that one standardized word equals five characters, including spaces and punctuation. The displayed WPM is currently correct characters ÷ 5 ÷ elapsed minutes. Correct CPM is the same count without dividing by five. The timer uses the browser's monotonic performance.now() clock, so changing the system clock cannot move a running result backward or forward.
Raw WPM counts every inserted keyboard character, including a wrong character that you later remove. Keystroke accuracy is correct insertion attempts divided by all insertion attempts. That means backspacing can repair the final passage, but it cannot erase the fact that an incorrect key was pressed. “Mistakes” reports those incorrect insertion attempts; red characters report errors still present in the current text.
Choose 1, 3 or 5 minutes
- 1 minute: fast enough for repeated practice and comparison under the same settings.
- 3 minutes: reduces the influence of one unusually quick opening and tests a steadier pace.
- 5 minutes: gives a better view of sustained speed, correction habits and fatigue.
- Untimed: removes the countdown and finishes when the passage is complete. Use it when timing would interfere with practice or accessibility.
A score from one duration should not be treated as interchangeable with another. Passage difficulty, punctuation, keyboard layout, device, corrections and familiarity all affect the result. This page deliberately does not assign “slow,” “average,” “professional” or “elite” labels without a controlled reference population.
How to get a repeatable result
- Use the same physical keyboard, layout, duration and passage source when comparing sessions.
- Place the keyboard comfortably and begin only after the passage is readable. The timer waits for your first character.
- Type naturally. Correct errors as you normally would; the test records both final correctness and correction attempts.
- Run several tests on different days. Compare the median or a stable range instead of promoting one unusually high attempt.
- For job, school or certification requirements, use the exact platform and scoring rules required by that organization. This browser test is practice evidence, not a certificate.
Custom passage mode
Custom text is useful for practising technical vocabulary, a presentation, code-adjacent prose or another language that maps directly to the characters shown. The passage never leaves the browser and is not stored in the personal-best key. However, WPM still uses the five-character convention, which may not match the word or input-method conventions of every language. Input method editors can also commit several visible characters as one composition action, so compare IME results only under the same browser and setup.
Privacy, storage and accessibility
The passage, keystrokes and result are processed locally. EasyTool does not receive the typed text. If local storage is available, the page stores only the best WPM number for each duration and source type; it does not store the passage or a keystroke log. “Copy result” writes a short score summary only.
The changing clock uses the ARIA timer role, whose updates are not announced every second by default. Start, restart, paste-blocked and completion messages use a polite status region. The untimed option provides the same core typing activity without a countdown. Visual correctness is indicated by both color and character position, and the native textarea remains available to keyboard and assistive-technology users.
Sources and implementation notes
- Typing.com timed-test durations and five-keystroke WPM convention
- MDN: monotonic high-resolution timing with performance.now()
- WAI-ARIA timer role
- W3C guidance for adjustable timing
- Monkeytype's documented test modes and real-time feedback model
Reviewed: 2026-08-02. The formulas above describe this tool exactly; other testing products and formal exams may use different error penalties or completion rules.