🎬 Fix out-of-sync subtitles

Subtitle Resync & Cleaner

Paste or upload an .srt/.vtt file. Shift timing to fix sync drift, stretch it to correct a frame-rate mismatch, strip [MUSIC PLAYING]-style tags, and convert between SRT and VTT.

How it works

SRT and VTT share the same underlying structure once the decimal separator (comma vs. period) is normalized, so one parser reads both. Shift adds a fixed number of milliseconds to every cue's start and end time; Stretch multiplies every timestamp by a factor, which is what actually fixes frame-rate drift (for example, 23.976 ÷ 25 = 0.95904 corrects the classic film-to-PAL mismatch); and the sound-tag stripper removes anything inside [brackets] or (parentheses), dropping any cue that becomes empty as a result.

FAQ

What stretch factor fixes 23.976fps subtitles synced to 25fps video?
23.976 ÷ 25 = 0.95904 — multiplying every timestamp by that factor corrects the common frame-rate drift between film-sourced and PAL-television-sourced subtitle files.
Will stripping sound tags remove any of the actual dialogue?
No — it only strips text inside [brackets] or (parentheses), like [MUSIC PLAYING], and removes a cue entirely only if nothing but a tag was left in it; ordinary spoken dialogue lines are untouched.

Free, unlimited, no account. If this saved you a paid tool, a small thanks is appreciated.

Say thanks — $3