First, find out which problem you have
Pick a line near the start of the video and note how far off it is. Then pick one near the end and do the same. Those two numbers tell you everything.
| Symptom | Diagnosis | Fix |
|---|---|---|
| Both cues off by the same amount | Constant offset | Shift the whole track once |
| Error grows through the file | Frame-rate drift | Resample by a ratio |
| Everything off after a certain point | Section slip | Split, fix the tail, rejoin |
| Picture and sound disagree too | Not a subtitle problem | Fix the video first |
Pattern 1: constant offset
The most common case. Every cue is wrong by the same amount β usually because the subtitle file was made against a different cut of the video, or the source has an intro the captions do not account for.
To measure it, pause on a line you can identify, note the real time, and subtract the cue's timestamp. A line spoken at 00:01:30 whose cue reads 00:01:28 needs +2. Apply it once with the shift tool and the whole track lines up.
Pattern 2: progressive drift
The first cue is nearly right, the last is badly wrong, and the error grows steadily. No single offset can fix this β shifting until the middle lines up makes both ends worse.
Drift means the subtitle file's frame rate differs from the video's. The classic pair is 23.976 fps against 25 fps, the difference between NTSC-derived and PAL-derived masters. Over a two-hour film that is roughly four seconds of error by the end.
The fix is to scale every timestamp, not move it. The resync tool has the common conversions as presets:
- 23.976 → 25 fps: multiply by 1.04271
- 25 → 23.976 fps: multiply by 0.95904
- 24 → 25 fps: multiply by 1.04167
- Video plays at 1.1× speed: multiply by 0.90909
Why 23.976 is not 24
Historical accident. NTSC colour was fitted to existing black-and-white broadcasts by slowing the frame rate by 0.1%, giving 23.976 rather than 24. That 0.1% is invisible over a few seconds and ruinous over two hours β which is exactly the signature of drift.
Pattern 3: a section slipped
Sync is fine for the first half and wrong for the second. Usually a scene was cut or an intro removed after the captions were made.
A single ratio will not fix this either, because the error is a step, not a slope. Split the file at the break, fix the tail on its own, then rejoin the parts with the merge tool.
Pattern 4: the video itself is wrong
If audio and picture disagree with each other, subtitles are not the problem. Correct the audio delay first, then resync the captions against the corrected video β otherwise you tune them to a fault that will be fixed later.
Working out the correction without guessing
Do not nudge and re-check. Measure once:
- Find a cue near the start and one near the end.
- Note the real spoken time for each, from the video.
- Subtract each cue's timestamp from its real time.
- If the two differences match, it is an offset. If they differ and grow, it is drift.
For drift, divide the real time by the cue time at the end of the file. That quotient is your ratio β and it is more accurate than picking a named frame-rate preset, because it accounts for whatever actually happened to your file.
After the fix
Check three places: the first cue, a cue at the midpoint, and the last one. If all three sit right, the track is correct. Then run the file through Clean subtitles if it carries markup you do not want, and keep the original β resampling is reversible only if you still have the source.