Skip to content
100% local

Subtitle generator

Turn a plain-text transcript into a timed SRT or VTT subtitle file.

Input
Output

Subtitle generator

Paste a transcript and this tool turns it into a subtitle file, with estimated start and end times for every cue. It's built for the moment you have a script or transcript but no timed captions yet — a voiceover draft, a lecture transcript, dubbing notes, or dialogue exported from elsewhere — and need something a video editor or media player can load right away.

Timing is estimated from your chosen reading speed in characters per second, so denser text gets shorter cues and slower, wordier lines get more time on screen. Maximum characters per line and lines per subtitle control how text wraps; minimum and maximum duration keep cues from flashing by too fast or lingering too long. The gap between subtitles adds breathing space, and "treat blank lines as pauses" reads an empty line in your transcript as a scene break, giving the next subtitle extra room. Splitting at sentence boundaries keeps each cue to one thought instead of packing sentences together, and start time plus time shift let you offset the whole file to match your video.

The tool handles Windows (CRLF) and Unix (LF) line endings alike, and text with no punctuation still wraps and times sensibly. Choose SRT for the format supported almost everywhere, or WebVTT for web video players; both number cues by default, which you can turn off if your workflow doesn't need it. The live tally under the output reports subtitles generated, total duration and character count as you type.

Everything runs locally in your browser — your transcript is never uploaded, which matters for confidential dialogue or unreleased content. Copy the result, download it as a .txt file to rename with the right extension, or send the output straight to another tool's input to keep refining it.

FAQ

How is the timing calculated?
Each subtitle's duration is its text length divided by the reading speed you set, in characters per second, then clamped between the minimum and maximum duration so no cue is too short to read or lingers too long.
What's the difference between start time and time shift?
Start time sets when the very first subtitle begins; time shift adds (or subtracts) a fixed offset from every timestamp afterward, which is handy for nudging a whole file into sync without recalculating anything.
Should I use SRT or VTT?
SRT is the most widely supported format across video players and editors. WebVTT adds features built for the web and is the format HTML5 video expects, so pick it if your subtitles are going into a browser-based player.
What does "treat blank lines as pauses" do?
When turned on, an empty line in your transcript adds extra time before the next subtitle starts, useful for marking a scene change or a natural silence in the source without editing every timestamp by hand.
Is my transcript uploaded anywhere?
No. Subtitle generation runs entirely in your browser — your transcript never leaves your device.