3 speed tests · Passage analyzer · Browser processing
Text Speed Tester – 3 Speed Tests & Text Analyzer
Practice typing against a sample, time a passage as you read or speak, and prepare your next practice text. See the calculation behind each result and compare your own attempts.
Practice estimates, not a standardized assessment. Reading and speaking use a manual timer; no microphone or comprehension check is involved.
Your text practice workshop
Type the sample exactly, including spaces and punctuation. Correct matches are underlined; mismatches have a stronger bottom border.
Practice sample
Start prepares the editor; the first input begins timing. Manual typing only. This practice does not certify skill or prevent all automation.
01 · Practice level
02 · Attempt controls
Start prepares the field. Your first input starts the clock. Reach the sample length to finish, with accuracy reported separately.
03 · Practice settings
Paste and drop are disabled in typing practice. Corrected mistakes are not counted as historical errors. A one-second minimum applies to final results.
Typing result
No completed attempt yet.
- Gross WPM
- —
- Correct-character WPM
- —
- Final-text match accuracy
- —
- Elapsed time
- 0.00 s
- Final typed characters
- 0
- Sample characters
- 0
Read the complete passage silently at your usual pace. Start when ready, then stop when you finish.
Up to 100,000 UTF-16 units and 5,000 lines. Words are separated by whitespace. UTF-8 .txt imports: up to 400 KB; decoded text must fit these limits.
01 · Passage
Use a passage of similar length and difficulty when comparing your own attempts.
02 · Manual timer
Start captures the passage and word count. Editing actions stay locked until Stop or Reset.
03 · What this measures
WPM = passage words × 60 ÷ elapsed seconds. The estimate assumes you finish the whole passage.
Comprehension and attention are not checked.
Reading result
No completed attempt yet.
- Passage · whitespace-separated words
- 0
- Elapsed time
- 0.00 s
- Estimated reading WPM
- —
Read the complete passage aloud. This mode does not use a microphone. Start when ready, then stop when you finish.
Up to 100,000 UTF-16 units and 5,000 lines. Words are separated by whitespace. UTF-8 .txt imports: up to 400 KB; decoded text must fit these limits.
01 · Passage
Use a passage of similar length and difficulty when comparing your own attempts.
02 · Manual timer
Start captures the passage and word count. Editing actions stay locked until Stop or Reset.
03 · What this measures
WPM = passage words × 60 ÷ elapsed seconds. The estimate assumes you finish the whole passage.
Speech, pronunciation and actual spoken words are not checked.
Speaking result
No completed attempt yet.
- Passage · whitespace-separated words
- 0
- Elapsed time
- 0.00 s
- Estimated speaking WPM
- —
Prepare a passage without overwriting your source. Apply case and line settings, review the output, then send it to a manual timer.
Input: up to 100,000 UTF-16 units and 5,000 lines. Output: up to 200,000 units. UTF-8 .txt import: up to 400 KB, within decoded limits.
01 · Case conversion
Case conversion happens before line comparison and sorting.
02 · Line comparison
The first matching line is kept. Empty lines count too. Comparison settings do not trim the kept text.
03 · Output order
Processed passage
Apply settings to prepare output.
- Output · whitespace-separated words
- —
- Output · Unicode code points
- —
- Output · grapheme clusters
- —
- Output · UTF-16 units
- —
- Output · sentences, heuristic
- —
- Output · blank-line paragraphs
- —
- Output · logical lines
- —
Graphemes use browser Unicode segmentation when available. Sentence counts are heuristic; abbreviations can affect them.
Duplicate comparison groups
Apply settings to inspect duplicate groups before removal.
Choose a mode to begin. Completed reports can be copied, downloaded or shared below.
Choose the measurement that fits your practice
Three timing modes and one passage-preparation workspace.
Typing a fixed sample
Compare position-matched characters with the displayed sample. The result separates gross speed from correctly matched character speed.
Reading your passage
Time yourself reading the whole passage. The word count comes from its whitespace-separated tokens, not from a comprehension check.
Speaking a prepared script
Rehearse a complete passage aloud. The timer estimates rate from the script length; it cannot detect skipped or added words.
Preparing the next passage
Use case changes, line comparison, sorting and counts. Keep the original source until you explicitly replace it.
Read the result behind the number
Use the same units and similar conditions when comparing attempts.
| Metric | Formula | Worked example | Interpretation |
|---|---|---|---|
| Gross typing WPM | Final characters ÷ 5 ÷ elapsed minutes | 150 characters in 30 seconds = 60 WPM | Includes mistakes still present in the final text. |
| Correct-character WPM | Position-matched characters ÷ 5 ÷ elapsed minutes | 135 matches in 30 seconds = 54 WPM | This is not an error-penalty net WPM formula. |
| Final-text accuracy | Position matches ÷ final characters × 100 | 135 matches out of 150 characters = 90% | Corrected mistakes are not remembered. |
| Reading / speaking WPM | Passage words ÷ elapsed minutes | 120 whitespace-separated words in 60 seconds = 120 WPM | Assumes the whole passage was completed. |
Explore a WPM value without a skill label
These are tool-defined numerical bands. They are not standardized benchmarks or a diagnosis of reading, typing or speaking ability.
- Typing band
- —
- Reading band
- —
- Speaking band
- —
Make your next attempt comparable
A small change in setup can change the result.
Keep the passage comparable
Repeat the same passage or choose material of similar language, length and difficulty. Familiarity can affect later attempts.
Keep the device comparable
Keyboard layout, touch input, assistive technology and browser behavior affect typing practice. Use a setup that suits you.
Check what you finished
For manual timers, use the whole passage. Skipping a section inflates the rate because the calculation still includes its words.
Use accuracy with speed
A high gross WPM can include errors. Review the matching-character rate and final-text accuracy alongside elapsed time.
Know the limits before comparing scores
The workshop reports a bounded browser calculation, with these practical limits.
Timing and final text
Timing begins with first input for typing and with Start for manual timers. Attempts under one second are not scored. Switching modes or hiding the page cancels unfinished attempts. Browser interruptions can still affect a session.
Language and text segmentation
Word counts use whitespace; some writing systems need different segmentation. Code points, graphemes and UTF-16 units can differ. Sentence counts and title case are heuristics, not language-specific analysis.
Practice, not certification
Unlocks reflect this tool’s own 80% final-text threshold. No controlled testing environment, identity verification, reading-comprehension check or speech recognition is provided.
Input and history budgets
Passages are limited to 100,000 UTF-16 units and 5,000 lines; output to 200,000 units. Imports are UTF-8 .txt up to 400 KB. Undo history is capped at 30 states and 400,000 combined UTF-16 units per passage editor.
When an attempt does not look right
Check the active mode and the source of each result.
Typing WPM stays blank
Press Start and type. Live WPM appears after one second has elapsed. An attempt completed in less than one second has no final score.
A completed result disappeared
Reset or a passage edit clears that mode’s result. Changing modes keeps completed results but cancels unfinished attempts. Reloading clears page-only results.
Output copy is disabled
Input or settings changed after processing. Apply & analyze again so the output matches the current source and configuration.
Paste, import or copy fails
Browser clipboard access can be restricted. Paste directly into passage fields or import valid UTF-8 .txt within the limits. Copy the visible text manually if permission is denied.
Questions about timing, counts and privacy
Answers specific to this text practice tool.
What are the three speed tests?
Typing compares your final text with a fixed sample. Reading and Speaking use manual timers for your own passage. Practice Text is a separate analyzer for preparing passages; it is not a fourth speed test.
How is typing WPM calculated?
Gross WPM is final-text characters divided by five, divided by elapsed minutes. Spaces and punctuation count. Correct-character WPM uses only characters matching the sample at the same position. The samples use ASCII characters. Timing starts at the first typing input after Start.
What does typing accuracy mean?
It is the percentage of final-text characters matching the sample at the same position. Corrected mistakes are not remembered, so this is not keystroke accuracy. A sample-length attempt can finish with errors. Attempts under one second do not receive a final WPM or unlock a level.
Can I paste text into the typing test?
Paste, drop and replacement-text insertion are blocked in the typing practice field. Use Reading, Speaking or Practice Text for pasted passages. Browser tools, scripts, autofill and automation can still affect results; this is not a verified or cheat-proof assessment.
How do difficulty levels unlock?
Easy is available first. Complete an attempt with at least 80% final-text match accuracy and at least one second elapsed to unlock Hard, then Very Hard. These are tool-defined practice levels, not validated skill grades. Validated difficulty flags are stored locally where storage is available. Reset level progress clears them.
How do reading and speaking estimates work?
Start captures the current passage and its whitespace-separated word count. Stop calculates words multiplied by 60 divided by elapsed seconds. The result assumes the whole passage was read or spoken. The tool does not check comprehension, pronunciation, voice or actual completion and does not use a microphone.
What happens if I change tabs or leave the page?
Switching tool modes cancels an unfinished attempt without recording a result. Hiding or leaving the browser page also cancels active attempts. Completed results stay in the current page until that mode is reset or its passage changes; reloading does not restore passages or results.
Are the WPM bands standardized benchmarks?
No. They are tool-defined numerical ranges for organizing a WPM value. They do not label someone professional, average, good or bad. Language, text difficulty, device, accessibility needs and context affect comparisons. Compare similar passages and conditions in your own practice.
What order does Practice Text use?
It normalizes CRLF and CR line endings to LF, applies the chosen case conversion, identifies duplicate comparison groups, optionally removes duplicate lines, sorts, and optionally reverses the line order. Ignore case and Ignore surrounding spaces affect comparison keys; kept lines retain their content apart from the selected case conversion and normalized line endings. Empty lines also participate in deduplication.
How are Unicode characters and words counted?
Words are whitespace-separated tokens, which is not linguistic word segmentation for every language. The analyzer reports Unicode code points, UTF-16 units and grapheme clusters when Intl.Segmenter is available, with a labelled code-point fallback. Sentence and paragraph counts are heuristics. Title case uses Unicode-aware boundary rules but is not language-specific editorial casing.
What limits apply to passages and outputs?
Each passage accepts up to 100,000 UTF-16 units and 5,000 lines. Processed output is limited to 200,000 UTF-16 units and 5,000 lines. UTF-8 .txt imports are capped at 400 KB and must fit decoded-text limits. Invalid imports keep the prior text. Oversized direct input stays visible while processing is blocked. Each editor has at most 30 Undo states with a combined budget of 400,000 UTF-16 units.
Why are copy or export actions disabled?
Timer reports become available only after a completed attempt lasting at least one second. Analyzer actions require a prepared output matching the current input and settings. Editing either makes earlier output stale; apply again. Copy failures show a manual-copy instruction instead of reporting success.
Is my text saved or sent to an API?
This tool calculates in the browser without a processing API. Passages, output and Undo history stay in the open page and are not saved by this tool in browser storage. Only theme preferences and unlocked difficulty flags are stored. WhatsApp receives a result summary only when sharing is activated; it does not receive the passage through this button. Other site scripts and browser features have their own behavior.
Prepare your next practice session
Continue with another text tool for a different task.