Key takeaways
- Subtitles drift for two main reasons: a constant offset, where every line is early or late by the same amount, or a frame-rate mismatch, where the gap grows over time.
- A constant offset is the easy case — shift every cue by the same number of seconds.
- A growing drift means the subtitle was timed for a different frame rate and needs a stretch, not a shift.
- VLC can nudge timing live, but it does not save the change; a proper fix edits the file.
Why do subtitles go out of sync?
Almost always one of two reasons. Either every line is off by the same amount — a constant offset, usually because the subtitle was timed to a version of the video with a different intro or ad break — or the lines start roughly in sync and drift further apart as the video plays, which is a frame-rate mismatch between the subtitle and the file.
You can tell them apart in a minute. Check the sync near the start and again near the end. If the gap is the same at both points, it is a constant offset. If it is small at the start and large at the end, it is a frame-rate problem.
| What you see | Likely cause | The fix |
|---|---|---|
| Everything early or late by the same amount | Constant offset | Shift all cues by that amount |
| Small gap at the start, large at the end | Frame-rate mismatch | Stretch or resync in an editor |
How do you fix subtitles that are consistently early or late?
Shift every cue by the same number of seconds. If the subtitles are two seconds ahead of the speech, move them two seconds later; if they lag, move them earlier. Because the whole track is off by the same amount, one shift corrects all of it.
VLC can nudge subtitle timing while you watch, using its shortcut keys, but it does not save that adjustment — reopen the file and you are back where you started. To make the fix permanent, edit the timing in the file itself. The free subtitle timing shifter on this site does exactly that, in your browser, and gives you a corrected file to keep.
RelatedSubtitle timing shifter
What if the gap gets worse as the video plays?
Then a simple shift will not hold, because the subtitle was built for a different frame rate than your video — a common mismatch between the film and broadcast rates. Early on the drift is too small to notice; by the end the lines are seconds out.
Fixing this needs a stretch rather than a shift: a subtitle editor can re-time the track to the video’s frame rate, or align the first and last cues and rescale everything in between. It is more work than a nudge, but it is the only thing that fixes a growing drift.
RelatedHow to create and check an SRT fileSubtitle reading-speed checker
Frequently asked questions
Why are my subtitles a few seconds off the whole way through?
That is a constant offset, usually because the subtitle was timed to a slightly different version of the video. Shift every cue by the same number of seconds to correct it.
Why do my subtitles drift further out over time?
That is a frame-rate mismatch: the subtitle was made for a different frame rate than your video. It needs a stretch or resync in a subtitle editor, not a simple shift.
Does VLC save my subtitle sync changes?
No. VLC can nudge timing live while you watch, but it does not save the adjustment. To keep the fix, edit the timing in the file.
How do I shift subtitle timing permanently?
Use a tool that edits the file. The free subtitle timing shifter on this site moves every cue earlier or later in your browser and gives you a corrected SRT or VTT to keep.
Can the same offset fix both SRT and VTT files?
Yes. Both formats store timed cues, so a constant shift applies the same way; the timing shifter accepts either and returns the same format.
