Estimate reading and speaking time
Enter your text and tokens per minute. Duration = tokens ÷ tempo × 60 × (1 + pause percent ÷ 100); the range uses your slow and fast tempos.
- Runs in your browser
- No upload
- Check before download
Estimate reading and speaking time
Enter your text and tokens per minute. Duration = tokens ÷ tempo × 60 × (1 + pause percent ÷ 100); the range uses your slow and fast tempos. Unicode tokens join letters/digits and internal apostrophes or hyphens; whitespace mode counts nonblank runs. Neither models comprehension or language-dependent speech.
Synthetic example
Ready
Profile
Print: Liberation Sans, selectable Latin/Greek/Cyrillic where the actual font encodes it; no combining marks, RTL shaping, CJK or emoji guarantee. Unsupported glyphs refuse PDF while original backups remain. Fountain layout is readable proportional 12pt, not certified industry typography. MathML rendering depends on the browser.
Live controls run only while the tab is active. Hiding, leaving or suspending pauses; reset/edit stops the attempt. No background-time, wake, autoplay, camera, microphone or recording promise. Space and arrows work inside the focused prompter.
Limits
30,000 UTF-16 units total; 100 rows, 10 columns/1,000 cells; 50 rehearsal sections; 2,000 math characters, 1,000 nodes/depth32; 40 PDF pages/8MiB output; 2MiB backup; 20s worker. PNG ≤1MiB/1024², static 8bit. Overflow is refused, never silently removed. CSV protects user text beginning with formula-like symbols using an apostrophe; computed numbers stay numeric. The JSON backup preserves the exact original text.
Check dates, finite numbers, row lengths and the named grammar. Shorten overflowing text or change paper; unsupported font/script/logo/grammar is refused. Cancel/reset and retry; preserve your original backup.
All text, contacts, dates and local images stay in this browser. No sending, tracking of content, storage, accounts or automatic URL requests. Download a backup explicitly before closing.
How to use
- Prepare the input
Paste the text, choose Unicode tokens or whitespace runs, and enter your own tokens-per-minute rate. Set slow and fast rates for the range and a pause percentage. These are your own assumptions, not a measured reading speed.
- Try the worked example
Try Hello world: two tokens at 120 tokens/minute take 1 second with no pauses, or 1.2 seconds with 20% pauses. Generate and compare the token count, the duration and the slow/fast range before you use your own script.
- Check and save
Download the pacing CSV to keep your assumptions and durations, and save an input backup before you close the page. Read the script aloud if timing matters. Punctuation, comprehension and speech in a particular language are not predicted.
Questions
Why do the two tokenization modes disagree?
Unicode mode counts groups of letters and digits, keeping apostrophes and hyphens inside a word together. Whitespace mode counts runs of non-blank characters, including a standalone symbol. Neither count is a universal linguistic word count.
Does adding 20% pauses mean 20% fewer words per minute?
No. The calculator multiplies the base duration by 1.2. It doesn't change the token count or the tempo you entered. Slow and fast rates use the same pause factor.
Can I use this as a measured speaking time?
No. It is a local arithmetic estimate, with at most 30,000 UTF-16 text units across the request. Only a rehearsal measures your actual delivery. This tool doesn't record you or model how well people understand the text. Inputs are not saved automatically.