Subtitle Editor

Create, time and edit SRT subtitles with live preview.

100% private — your files never leave your device

Edit your subtitles

No cues yet
Add your first cue above, or import an existing .srt file to edit it.

Live preview

Press play to preview your captions.

0.0s

Tip: click a cue number to preview from that cue. Timecodes use HH:MM:SS,mmm.

How it works

1

Add or import cues

Type captions directly into the cue table, or import an existing .srt or .vtt file to edit it. Each cue has a start timecode, an end timecode and up to two lines of text.

2

Time and check

Adjust timings cue by cue, or shift every cue at once when the whole file drifts out of sync. Built-in checks flag overlaps, impossible timings and lines that are too long to read comfortably.

3

Preview and export

Play the live preview to watch captions appear exactly as viewers will see them, then download a clean .srt for YouTube and players, or .vtt for the web.

Subtitle timing best practices

Good subtitles are invisible: viewers absorb them without noticing the craft behind them. Getting there is mostly about timing and restraint. A caption should appear the moment speech starts and disappear on the natural pause — never linger into silence, and never vanish before the viewer has finished reading. As a rule of thumb, keep each cue on screen between 1 and 7 seconds. Shorter than a second and nobody can read it; longer than 7 seconds and viewers re-read it, which breaks immersion.

Reading speed: the CPS limit

Professional subtitlers measure density in characters per second (CPS). Most adult viewers read comfortably at 17 to 20 characters per second, and children's content should stay closer to 12–15. This editor flags any cue that exceeds 20 CPS so you can split it in two. When a line of dialogue is too dense, don't just stretch the timing — split the cue at a natural phrase break and give each half its own time slot. Two short cues always beat one crammed cue.

Line length and line breaks

Keep every line under 42 characters and never use more than two lines per cue. Break lines at phrase boundaries ("I went to the store / to buy some milk") rather than mid-phrase, and keep the top line shorter than the bottom one when possible — it forms a pyramid shape that the eye scans fastest. Avoid hyphenating words across lines, and put one speaker per cue; if two people talk in the same time slot, use a dash for the second speaker.

SRT vs VTT: which should you export?

SRT (SubRip) is the universal workhorse: YouTube, Vimeo, VLC, Premiere Pro and DaVinci Resolve all accept it, and its format is dead simple — a number, a time range, and text. VTT (WebVTT) is the web-native format, designed for the HTML5 <track> element, and it supports extras SRT can't do: text styling, cue positioning and chapter metadata. If you're uploading to YouTube or a desktop editor, export SRT. If you're embedding captions on your own website, export VTT. Both are plain text, both are generated locally here, and you can export both from the same cues with one click each.

A practical workflow

Transcribe first, time second. Get all the words down without worrying about timing, then play your video and set in/out points against the actual speech. If the whole file drifts — for example the video has a few seconds of intro the captions don't account for — use the "shift all" control instead of fixing cues one by one. Finally, run the preview end to end: watch for captions that flash by too fast, overlap each other, or sit on screen during silence. Fix those, export, and upload with confidence.

SRT is the universal subtitle format supported by YouTube, VLC, Premiere Pro and almost every video player. VTT (WebVTT) is designed for the web and works with the HTML5 video track element, adding support for styling and positioning. Both are plain text. This editor can export either format from the same cues.
Aim for 1 to 7 seconds per cue. Anything shorter than a second is hard to read; anything longer than 7 seconds feels stale and viewers re-read it. Match the in/out times to the natural pauses in speech.
Keep lines under 42 characters and never use more than two lines per cue. Break lines at natural phrase boundaries rather than in the middle of a phrase, and keep reading speed under about 20 characters per second.
Yes. YouTube accepts SRT uploads directly: go to Subtitles in YouTube Studio, add a language and upload the .srt file. The timing and text are preserved exactly.
No. Everything runs locally in your browser — parsing, timing, preview and export. Your text never leaves your device.

Related Tools

Email Button Generator

Build bulletproof email CTA buttons free — VML fallback for Outlook plus styled anchor, live preview, custom colors…

WhatsApp Chat to PDF — Free Chat Book Maker

Turn a WhatsApp chat export (.txt) into a beautiful printable chat book. Filter by date, align your own messages, then…

Voice Dictation — Free Speech-to-Text Online

Dictate live into text with free browser speech recognition. 8 languages, live results, copy or download notes. Works…

Remove Duplicate Lines

Clean lists by deleting duplicate lines in one click.

Text to Speech Reader — Free Read-Aloud TTS

Read any text aloud for free with natural browser voices. Adjust speed, pitch and voice, follow live sentence…

Case Converter

UPPERCASE, lowercase, Title Case and more — instantly.