Paste your text, set a target WPM, and hit Start. The timer highlights each line as you read and tracks your actual words-per-minute in real time.
Average conversational reading: 120–150 WPM. Audiobook narrators: 150–180 WPM. Auctioneer-fast: 250+ WPM.
The timer splits your text into lines and calculates how long each line should take at your target WPM. As the clock ticks, it advances the yellow highlight to the current line and auto-scrolls to keep it in view. When you stop, it computes your actual WPM from real elapsed time and total word count.
Example: 260-word passage at 130 WPM target → expected duration = (260 ÷ 130) × 60 = 120 seconds (2:00). If you finish in 90 s → actual WPM = (260 ÷ 90) × 60 ≈ 173 WPM, diff = +43 WPM (too fast).
requestAnimationFrame for smooth, sub-second updates, so the highlight advances precisely when the cumulative expected time for each line elapses. You can always stop early — your actual WPM is calculated from the real clock, not the estimate.