Subtitle converter and resyncer
Drop an SRT or a VTT, set the correction it needs, and get the other format back in full. An offset shifts every cue by the same amount; a frame-rate factor fixes captions that start in sync and drift, which an offset cannot do. Nothing uploads.
Given an SRT or VTT and the correction it needs, produce the other format, resynced, in under two seconds.
2 cues · read as SRT · written as VTT
The file is converted and the whole thing is below, ready to download. What it still is not is a caption pass — these cues are the timings someone else's transcript produced, and the words are grouped where the cue breaks happened to fall.
Next artifact: captions built from the word timings, not from cue breaks.
Never times captions per word and breaks lines on the phrase, then locks a style across every clip so the caption looks the same on the eighth one as on the first.
See the caption passYour caption file is read and rewritten in your browser. It is never uploaded, never stored, and there is nothing to delete.
What conversion does and does not fix
Format conversion is arithmetic on a timestamp separator, and the subtitle converter does it in both directions without losing anything a SubRip file can hold. The resync is the part that matters: most caption files that need converting also need moving, because the file was made against a different cut of the same video.
There are exactly two corrections and they are not interchangeable. A constant offset fixes a file that is uniformly early or late, which happens when a slate or a countdown was trimmed. A rate factor fixes a file that is right at the start and progressively wrong, which happens when the frame rate changed. Applying an offset to a rate problem makes the file correct at one point and wrong everywhere else.
How to resync captions by hand
- Find the error at the start. Play the first cue of the subtitle file. Note how far ahead or behind it is, to a tenth of a second.
- Find the error at the end. Play the last cue and measure again. If the two errors match, the file needs an offset; if the second is larger, it needs a rate correction.
- Apply one correction, not both. Compute the factor as the old duration over the new one. Adding an offset on top of a correct factor reintroduces the drift you just resynced away.
- Spot-check the middle. A subtitle file that is right at both ends and wrong in the middle has an edit in it, and no single correction will fix that one.
Where the manual way breaks
Resyncing a caption file by hand breaks because the cues are grouped by whoever made them. An offset can be typed into most editors in a minute; what cannot be typed is a decision about where a line should break, and that decision was already made — badly — by the cue boundaries you inherited.
The result is captions that are technically in sync and still read wrong: a line that breaks mid-phrase, a name split across two cues, a two-word cue on screen for a fifth of a second. Fixing that is not a resync, it is a re-cue, and it takes as long as writing the captions in the first place. The Editing Tax dataset puts a styled and timed caption pass at 25 minutes per 12-minute recording.
Never builds captions from word-level timings rather than from inherited cue breaks, breaks lines on the phrase, and locks a caption style so the eighth clip looks like the first — and the same word timings from the transcript are what make that possible at all.
Read the transcript
Subtitle converter and resyncer Drop an SRT or a VTT, set the correction it needs, and get the other format back in full. An offset shifts every cue by the same amount; a frame-rate factor fixes captions that start in sync and drift, which an offset cannot do. Nothing uploads.
Frequently asked questions
What is the difference between SRT and VTT?
WebVTT uses a full stop before the milliseconds, starts with a WEBVTT header, allows the hour to be omitted, and supports cue identifiers, positioning settings and styling blocks. SubRip uses a comma, numbers its cues, and supports none of that. Converting VTT to SRT therefore loses positioning, and the converter says so when it happens.
My captions start in sync and drift. What fixes that?
A frame-rate factor, not an offset. Captions authored against a 25 fps master and applied to the same edit at 23.976 are correct at the first cue and wrong by seconds at the last. Tick the drift box, enter both frame rates, and every cue is rescaled rather than shifted.
Does my subtitle file leave the browser?
No. The subtitle converter reads and rewrites your file in the browser. It is never uploaded, never stored, and there is nothing to delete afterwards.