How to fix out-of-sync subtitles
Out-of-sync subtitles come in two flavours. Knowing which one you have is the difference between a two-minute fix and hours of frustration.
Flavour 1: constant offset
Every cue is off by roughly the same amount. The first cue is 3 seconds early. The middle cue is 3 seconds early. The last cue is 3 seconds early. The subtitle track is shifted as a whole.
The fix: shift every cue by the offset. Load the file into the SRT Time Shifter, enter the offset in seconds, apply, download.
To find the offset: pick a distinctive line of dialogue. Note the timestamp in the subtitle file. Note the timestamp in the audio. Subtract the subtitle timestamp from the audio timestamp. Positive means shift later. Negative means shift earlier.
Example
- Subtitle cue for "Hello, world" is at
00:00:15,000. - Audio says the line at
00:00:18,200. - Offset =
18.2 - 15.0 = +3.2seconds (shift later by 3.2s).
Apply +3.200s with the SRT Time Shifter. Download the result.
Flavour 2: progressive drift
The offset grows over time. The first cue is 1 second early. The middle cue is 4 seconds early. The last cue is 12 seconds early. The subtitle track is not just shifted — it is being scaled or compressed.
Why it happens: the subtitle was timed for a different frame rate (23.976 vs 25 fps), a different runtime (extended cut vs theatrical), or a broadcast that was sped up slightly for advertising slots.
The fix: a linear retime. Our tools do not support this — it requires a dedicated subtitle editor. Subtitle Edit (Windows), Aegisub (cross-platform) and most professional subtitle tools include a linear retime feature.
How to retime in Subtitle Edit
- Open the file in Subtitle Edit.
- Use the menu "Synchronization" → "Adjust all times".
- Select "Anchor this subtitle to a video position" for both anchors.
- Set the first anchor to a good cue at the start.
- Set the last anchor to a good cue at the end.
- The editor will stretch every cue proportionally.
How to tell them apart
Watch the same subtitle file at the beginning, middle and end of the video:
- If the offset is the same at all three points: constant. Use time shift.
- If the offset grows linearly: drift. Use linear retime.
- If the offset is different in different scenes but not obviously growing: the file is badly timed. Consider re-timing from scratch.
Millisecond fine-tuning
After a constant shift, the result is usually correct but not perfect. Small offsets of 50–200ms often remain. Use the Millisecond Shifter to fine-tune.
Recommended workflow:
- Apply a rough second-level shift with the Time Shifter.
- Watch a scene. If the subtitle feels "almost right", adjust by -80ms or +120ms with the Millisecond Shifter.
- Iterate 2–3 times.
Preventing sync issues
- Match the release — extended cuts need extended-cut subtitles.
- Test the first and last cue — if both are correct, the middle almost certainly is too.
- Keep a backup of the original file.
- Validate after shifting with the SRT Validator.