The methodology / V1
Simple numbers.
No secret score.
Choose 60 or 120 seconds, read a prompt for 10 seconds, then compose freely. The prompt disappears before you type. Your first inserted character starts the test.
Freeform WPM
This is your overall writing pace, including time spent pausing and editing.
Freeform WPM = final characters ÷ 5 ÷ test minutes
We count Unicode code points in the final text, including spaces, punctuation, and line breaks. A character such as an emoji may contain multiple code points. Deleted characters do not remain in this count. Autocorrected or automatically expanded characters do count because they are part of your finished output. A 60-second test with 300 final characters scores 60 WPM; a 120-second test with the same text scores 30 WPM. We do not score spelling or meaning.
Active Typing WPM
Each observed text-producing key press or correction creates a one-second activity window starting at its timestamp. Automatic replacements do not create extra activity windows. We merge overlapping windows and clip them to the test’s start and end. The combined length is active typing time. A gap of three seconds therefore contributes one active second and two pause seconds. The same rule applies after your final edit.
Active WPM = observed typed characters ÷ 5 ÷ active minutes
We count one observed typed character for each non-repeating printable key press or Enter that produces text. A key that triggers an automatic expansion still contributes at most one, not the length of the expansion. Characters later deleted remain in this activity count. Correction actions contribute active time but no produced characters. Modifier and navigation keys contribute neither. For example, 300 final characters and 250 observed typed characters in 60 seconds with 45 active seconds gives 60 Freeform WPM, about 67 Active Typing WPM, and 25% pause time. Active WPM describes observed keyboard activity; it can be below Freeform WPM when text replacement expands your output. The one-second allowance is a practical, visible convention, not a biological measure of thinking.
Mobile keyboards and composition
When individual keys are unavailable, an insertion update adds at most one estimated typed character, regardless of the number of characters inserted. A composing update that rewrites a word while growing it by one character also adds one. Other word rewrites, identified automatic replacements, and duplicate commits of an already observed composition add none. Explicit deletion updates add active time and one correction, with no produced characters; composition cleanup adds neither.
We apply the same one-second activity windows, five-second burst window, and formulas to these events. All three timing metrics carry an Estimated label, including when copied or shared. They can undercount swipe typing, suggestions, and dictation, and browser event reporting cannot distinguish every automatic change. We do not invent keystrokes for the full length of an inserted word.
Thinking / Pause %
Pause % = (test time − active time) ÷ test time × 100
This measures inactivity beyond the one-second allowance. You might be thinking, reading, or resting. WPM Speed cannot tell which; “thinking” is only a friendly label for pause time.
Fastest Typing Burst
We find the highest number of observed typed characters in any five-second window within the test, divide by five, and convert to a per-minute rate. The start of a window is included; its end is excluded. A burst of 40 characters in five seconds equals 96 WPM. Every window uses a full five-second denominator, even for a short flurry of typing.
This is gross observed typing speed, excluding automatically inserted characters: characters later deleted still count in a burst. Backspaces and other non-inserting keys do not add characters. A burst can differ from Active Typing WPM because the formulas answer different questions.
Corrections / Backspaces
We count each non-repeating Backspace or Delete key press during the timed test, including a press that does not remove a character. A keyboard shortcut that deletes a whole word still counts as one action. On touch keyboards, a deletion input event counts as one correction. Replacing selected text affects the final character count but does not count as a Backspace or Delete action.
Final Word Count
We trim the text and count runs separated by whitespace. This is distinct from the five-character units used for WPM. Languages without spaces between words will have a less useful word count.
Before a score is awarded
A local response check looks for excessive repeated words, phrases, character patterns, and insufficient variation. Clearly repetitive or insufficient writing receives “Test not scored,” with no normal score or sharing controls. Grammar, spelling, creativity, and factual accuracy are never graded. Read about response validity.
Timing and input safeguards
- The deadline uses the browser’s monotonic clock, measured from the first accepted text insertion. Rendering delays never extend the chosen duration. Input at or after the deadline is excluded.
- Holding down a physical key contributes only its first press. Pasting, dropping text, undo, and redo are disabled.
- Switching tabs, minimizing, or leaving the browser window during preparation or writing interrupts the attempt and clears it. A fresh attempt is required.
- Autocorrect, spell correction, capitalization, and text replacements are allowed. Their output contributes to Freeform WPM. Identifiable automatic replacements do not count as physical typing. Mobile text updates provide labeled estimates of active speed, bursts, and pauses. If no typing activity is observable at all, those metrics remain unavailable. Finished-output WPM remains available if the response passes local validity checks. Browser events are estimates, not a hardware audit.
- All displayed rates and percentages round to the nearest whole number. Calculations use unrounded values.
This is an informal self-measurement tool. Local checks identify obvious patterns; they cannot prove authorship, understand meaning, or prevent browser automation. Use the same device, language, duration, and keyboard settings for useful personal comparisons.
Take a Freeform Typing Test ↗