> script-timer
// Other script timers give you a number. This one writes the timing into your script — paste it below, set your speaking pace, and get [0:30] markers you can rehearse against.
140 wpm
30 sec
custom:
sec
$
drop a .txt or .md file here, or click to upload
✓
TOTAL DURATION
—
WORD COUNT
—
TIMESTAMPS ADDED
—
SPEAKING PACE
—
> formatted output — editable, so tweak the text or nudge a marker before you copy
> Script Timer FAQs
>
How are timestamps calculated?
Timestamps are inserted at regular intervals based on your speaking pace (WPM) and chosen interval (15–120 seconds). The formula is:
wordsPerInterval = (WPM ÷ 60) × intervalSeconds. Markers are placed at word boundaries closest to each interval. [0:00] is always inserted at the start. Speech timing guide →
+
What WPM should I use for my script?
The default is 140 WPM, average for conversational public speaking. Use 120–130 WPM for formal or technical presentations where clarity matters. Use 150–170 WPM for energetic talks or voice-over. You can adjust the slider anytime to recalculate timestamps.
+
What is the difference between inline and new-line markers?
Inline inserts timestamps within the text line (e.g., "Welcome everyone [0:30] to today's talk"). New line puts each timestamp on its own line as a section marker, creating a cleaner outline view. Choose based on your rehearsal preference or director's requirements.
+
Can I edit the script after formatting?
Yes. The formatted output is directly editable — click into it and tweak the wording, move a marker, or delete one. Copy and export both pick up your edits. Your original script stays in the input box above the output panel, so you can re-run the timer with a different pace or interval at any point and start over.
+
How accurate are the timestamps?
They're estimates based on average speaking pace. Actual delivery varies with pauses, emphasis, audience reaction, and ad-libs. Use the timestamps as a rehearsal guide, not a rigid schedule. Adjust the WPM slider to match your natural speaking speed for better accuracy.
+
Does my script get uploaded anywhere?
No. Everything runs in your browser. Your script is never sent to a server, and there is no account, no login and no database. The only place text is stored is your own browser's
localStorage, which keeps a draft so you don't lose work on a refresh — clearing your browser data removes it. Dropping a file in reads it locally too; the file itself never leaves your machine.
+
Can I export or print the timed script?
Four ways. Copy as plain text for anywhere. Copy as rich text keeps the timestamp markers styled when you paste into Google Docs, Word or Notion. Export saves a
.txt file. Print strips the interface away and lays the script out double-spaced with the timings in the margin — choose "Save as PDF" in the print dialog for a rehearsal copy you can annotate by hand.
+
Does this format screenplays?
No — this is a timing tool, not a screenplay formatter. It won't produce industry-standard scene headings, character cues or action lines. What it does is work out how long your script runs when spoken, and write timestamp markers into it. Your existing layout is preserved exactly: blank lines and indentation come back out the way you pasted them, so dialogue formatting survives even though the tool doesn't create it. This page was previously published as "script formatter", which caused the confusion.
+
How is this different from a words-to-time calculator?
A words-to-time calculator gives you a single number — "your script runs 4:12". This gives you that too, then writes the timing into the script itself, so you can see where you should be at every point of the read rather than only how long the whole thing takes. If you're 40 seconds behind at the
[2:00] mark, you find out at two minutes rather than at the end.
+
What can I paste or upload?
Paste any text straight in, or drag and drop a
.txt, .md, .csv or .json file. Press Ctrl/Cmd + Enter to run the timer without reaching for the button. Your draft auto-saves locally, so closing the tab won't lose it.