The methodology / V1
Simple numbers.
No secret score.
Choose 30, 60 or 120 seconds, read a prompt for 10 seconds, then compose freely. The 60-second standard test is selected by default. Each prompt offers a few ideas to get you started; follow related thoughts wherever they take you. The initial prompt disappears before you type. Your first inserted character starts the test.
A conversation starter, then a little inspiration
The 30-second test uses only the starting prompt. In a 60-second test, related questions appear after 15 and 35 seconds of writing time. In a 120-second test, related questions appear after 20 and 50 seconds. These are optional: follow the question or keep your current thought going.
Follow-ups are prewritten for each topic. They do not read or react to your response, and no AI or external service is involved. Questions appear above the writing area without moving your cursor or stopping the timer. Time spent reading, thinking, and editing remains part of the result. Compare attempts with the same duration and prompt format.
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. With 300 final characters, a 30-second test scores 120 WPM, a 60-second test scores 60 WPM, and a 120-second test scores 30 WPM. We do not score spelling or meaning.
Choosing a test length
Try 30 seconds for a quick test, 60 seconds for a standard test, or 120 seconds for an extended test. Shorter tests can vary more because a brief pause has a larger effect on the result. Compare attempts with the same duration; the length is shown with your results and included when you copy or share them.
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 ↗