Subtitle editor (SRT/VTT). Sync that stays on your device.
or click to browse
Timing tools
Presets apply instantly. Factor = source fps ÷ target fps (23.976 → 25 = 0.95904).
Find & replace
Validation
Privacy: files are parsed in your browser. Nothing is uploaded, stored, or logged.
How to use the Subtitle Editor (SRT/VTT)
This editor opens SRT and WebVTT subtitle files, lets you fix the text and timing cue by cue, and saves the result in either format. It can shift every timestamp, rescale them for a different frame rate, find and replace text, and flag timing problems. It suits video editors, translators and anyone fixing captions that are out of sync.
Step by step
-
Load your subtitles
Drop a file on the card that says Drop an .srt or .vtt file here, or click it to browse. You can also paste subtitle text into the box below and press Load pasted text. Loading replaces the three sample cues the editor opens with.
-
Edit cues in the table
Each row has Start, End, Dur and Text. Type times as 00:01:02,345 or 00:01:02.345 and press Enter or click away to apply. The plus button, Insert cue after this one, adds a two second cue after that row; the cross button, Delete cue, removes it. + Add cue at end adds one after the last cue.
-
Shift the timing
In Shift all timestamps, enter an amount, choose ms or seconds, and press Shift. A positive number moves every cue later and a negative number earlier. The box starts at 500 ms.
-
Fix frame rate drift
Enter a factor in Scale timestamps and press Scale, or click a preset such as 23.976 → 25, which applies at once. The factor is source fps divided by target fps, so 23.976 → 25 uses 0.95904.
-
Find and replace
Type in Find to see how many matches there are, enter the new text in Replace with, tick Match case if needed, and press Replace all. Matching is plain text, not patterns.
-
Check and tidy
The Validation panel lists problems; click one to jump to that cue. Sort by start puts cues in time order, and Renumber cues refreshes the numbers in the table.
-
Export
Press Download .srt or Download .vtt to save a file, or Copy SRT or Copy VTT to copy the text. The file keeps the name of the last file you opened, or is called subtitles if you have only pasted text.
Reading the result
- The counter above the table shows the number of cues and the span from the first start to the last end. The sample reads 3 cues · span 00:00:08,500.
- Dur is end minus start, in seconds. It turns red when a cue has zero or negative length.
- Validation flags three problems: duration (zero or negative length), overlap (a cue starts before the previous one ends) and lines (more than 3 lines of text). It lists up to 60 at a time and shows No issues found when the file is clean.
- A time you type that cannot be read is rejected: the box flashes, a message shows the accepted format, and the previous value comes back.
Tips and common mistakes
- There is no undo. Shift, Scale and Replace all change every cue at once, so download a copy before a big change.
- Shifting earlier stops at zero. Any time pushed below 00:00:00,000 is set to zero, and the message says some cues were clamped.
- Use Shift when subtitles are off by the same amount all the way through, and Scale when they start in sync but drift further off over time.
- When a VTT file is loaded, NOTE, STYLE and REGION blocks and any cue settings after the times are dropped, and exports number the cues 1, 2, 3 in order.
- In Replace with, the browser reads $& and $$ as special codes: $& puts the found text back and $$ becomes a single $. Type $$ when you need a literal dollar sign before &.
Privacy and limits
Files are read and edited by your own browser. Nothing is uploaded and nothing is saved, so reloading the page brings back the sample cues and discards edits you have not downloaded. Copy SRT and Copy VTT write only to your clipboard.
Everything a subtitle editor should do.
Frequently asked questions.
Is the Subtitle Editor free?
Is it private? Are my subtitle files uploaded anywhere?
Can it convert SRT to VTT (or VTT to SRT)?
How do the framerate presets work?
What does the validation panel check?
Does it work offline?
Published · Last updated .