How to Fix Out-of-Sync Subtitles (SRT & VTT)
Subtitles that are out of sync fail in one of two ways, and the fix is completely different for each. Either every line is off by the same amount — the file starts three seconds late and stays three seconds late — or the error grows: fine at the start, seconds off by the end. The first takes thirty seconds to fix in the browser. The second is a framerate mismatch and no constant shift will cure it. This guide shows how to tell them apart and fix each one.
Step 1: Diagnose Which Problem You Have
Check the sync at the beginning of the video and near the end. Pick an unmistakable line of dialogue in the first five minutes and note how far the subtitle is from the speech — say, 2 seconds late. Do the same in the last ten minutes. Same 2 seconds? Constant offset. Grown to 8 seconds? Drift. (Subtitles late means they appear after the words are spoken; early means before.)
| Symptom | Cause | Fix |
|---|---|---|
| Off by the same amount everywhere | Different cut: extra logo, ad, or intro at the start | Time shift by that amount — thirty seconds of work |
| Starts fine, ends far off | Framerate mismatch (23.976 vs 25 fps releases) | Retiming by a scale factor, not a shift |
| Fine except one section | Different edit mid-video (scene added/removed) | Split-file editing in a subtitle editor |
| Random lines wrong | Bad transcription, not bad timing | Fix the text, timing is innocent |
Fixing a Constant Offset
Measure the offset once, precisely: pause the video exactly when a distinctive line is spoken, note the time, and compare it with that line’s timestamp in the subtitle file (an SRT is plain text, openable in any editor). Then shift every timestamp by the difference. Our subtitle converter has a timestamp shift option that does this during conversion: subtitles late, negative shift brings them forward; subtitles early, positive shift delays them. Upload the SRT, set the shift in seconds (decimals fine), convert to the same format or another, done.
Shift subtitle timing in the browser — SRT, VTT, and ASS, millisecond precision kept.
Fix Subtitle TimingWhile you are at it: if the file shows garbled characters (é where é should be), it is a legacy-encoding file. Pick the right source encoding in the same tool — Windows-1252 for Western European, Windows-1251 for Cyrillic — and the output comes back clean UTF-8. One upload fixes timing and encoding together.
Fixing Drift Honestly
Drift means the subtitle file was timed for a video running at a different speed, classically a 23.976 fps film release versus a 25 fps PAL TV rip: 4% faster, about 2.5 minutes of divergence over a feature film. The cure is multiplying every timestamp by the ratio, and that is retiming, not shifting — our converter deliberately does not fake it with a shift, because a shift that fixes the middle leaves both ends wrong. Use a desktop editor (Subtitle Edit’s "change frame rate", Aegisub’s timing tools) or better, find a subtitle file made for your exact release; release names in the filename exist for this reason.
Frequently Asked Questions
How do I know how many seconds to shift my subtitles?
Pause on a clearly identifiable spoken line, note the player time, and subtract the timestamp that line has inside the subtitle file. The difference, sign included, is your shift. Measuring once precisely beats nudging repeatedly by half-seconds.
Why do my subtitles drift further off as the video plays?
The subtitle file was timed for a version of the video running at a different framerate, so every subtitle interval is slightly stretched or squeezed relative to yours. A constant shift cannot fix a proportional error; the timestamps need rescaling by the framerate ratio in a subtitle editor.
Will shifting timestamps break the subtitle format?
Not through a proper converter: the shift is applied to parsed times and written back in valid syntax, millisecond precision kept, negative results clamped rather than corrupted. Hand-editing timestamps in a text editor is where format breakage usually happens.
Can I fix sync and convert SRT to VTT at the same time?
Yes — the shift is an option on the conversion, so one pass through the tool retimes the file and changes the format. Same for encoding repair. SRT, WebVTT, and ASS are supported in all directions.