Fixing out-of-sync subtitles requires diagnosing the pattern of timing error. Shifting all subtitle cues by two seconds will fix a constant offset, but will fail if your subtitles gradually drift further out of sync over time.
Quick decision table: identify the timing pattern
Compare subtitle alignment against spoken audio at three points: the beginning, middle, and end of your video:
| Observed Timing Pattern | Diagnostic Characteristics | Corrective Method |
|---|---|---|
| Constant Offset | Subtitles are early (or late) by the exact same time (e.g. 2.5 seconds) throughout the entire video. | Apply a single time-shift (+/- milliseconds) across all cues. |
| Gradual Drift | Subtitles align at 0:30, but fall progressively further behind by 3:00, 6:00, and 10:00. | Verify the matching video version; use multi-point synchronization when a consistent speed difference is confirmed. |
| Mismatched Cuts | Subtitles align initially, but jump out of sync after a specific video edit scene cut. | Obtain matching subtitle edit version or split subtitle file at cut points. |
Diagnostic steps: record three anchor points
Before editing your subtitle file:
- Verify matching edit version: Confirm that your subtitle file (.srt / .vtt) was created for the exact edited video version of your video.
- Record Anchor 1 (Start): Play your video near the beginning (e.g., 0:30). Note the spoken word timestamp vs. the subtitle appearance timestamp.
- Record Anchor 2 (Middle): Check a spoken phrase near the middle (e.g., 5:00).
- Record Anchor 3 (End): Check a spoken phrase near the end (e.g., 10:00).
If the difference between spoken speech and subtitle cue appearance remains identical across all three anchors, you have a Constant Offset. If the difference grows, you have Gradual Drift.
Constant offset repair: whole-file time shift
A time shift adds or subtracts the same duration from every cue. Try the subtitle time shifter on a copy after checking at least three anchor points:
- Positive Shift (+): Delays subtitles if speech occurs after the text appears on screen.
- Negative Shift (-): Advances subtitles if speech occurs before the text appears.
Labeled Numerical Example: If a subtitle cue reads:
1
00:01:10,000 --> 00:01:12,500
Welcome to our product demonstration.
Applying a +2,500 ms (+2.5s) constant offset shifts the cue timestamps to:
1
00:01:12,500 --> 00:01:15,000
Welcome to our product demonstration.
Safety Rule: Ensure no initial cue timestamp becomes negative (< 00:00:00,000) when applying negative time shifts.
Gradual drift repair: multi-point synchronization
SRT and VTT store time values; WebVTT defines cue timestamps rather than a video frame rate that changes the playback clock. A different-speed source version, an earlier timebase conversion or a changed edit can produce growing error. Different frame-rate labels alone do not prove the cause.
Confirm the video/subtitle version first. For a consistent speed difference, a subtitle editor can align corresponding early and late spoken phrases and rescale intermediate cue times. Follow the editor’s current synchronization controls, then review a middle anchor: matching only the endpoints does not prove all cues are correct.
If the error jumps at cuts or varies irregularly, use the matching subtitle version or repair affected sections. Do not apply a blanket frame-rate conversion without confirming the timing relationship.
Mismatched scene cuts
If video cuts or commercials were edited into the video after subtitle creation:
- Global shifts or speed adjustments cannot fix arbitrary scene cuts.
- Split the subtitle file into sections at each edit cut point, then apply local constant offsets to each section independently.
Enjoying this read?
Get weekly insights on video editing, AI workflows, and creator growth straight to your inbox.
Save and inspect corrected subtitle file
After saving your corrected subtitle file:
- Inspect subtitle appearance at the 10%, 50%, and 90% timeline marks.
- Confirm subtitle cue boundaries do not overlap or cut off speech prematurely.
- Verify total cue count and text formatting remain intact.
Frequently asked questions
Will changing file extension from .srt to .vtt fix timing drift?
No. Changing file extensions alters only the container label. It does not adjust internal timestamp values.
Why do my subtitles drift even though video and SRT lengths match?
Equal overall duration does not guarantee matching speech positions. Check source version, cuts, speed changes and several matching phrases. Frame-rate labels alone do not establish a cause for time-based SRT cues.
Related reading
- For overlapping cue errors: see Overlapping Subtitles: How to Find and Fix Affected Cues.
- For format comparison: see SRT vs VTT: Which Subtitle File Do You Need?.
- For CapCut import: see How to Import SRT Subtitles into CapCut.
- For Cubix caption timing guidelines: see Video Caption Timing.
Optional Cubix workflow
For a separate caption edit, start with your original video in Cubix. Upload the source footage, generate captions and review the wording, timing and placement before exporting the video. See the Cubix caption workflow for the relevant controls.
The editor entry opens Home. It does not transfer a third-party project or automatically upload/import the reader’s files.
Don’t miss the next one.
Join our newsletter for exclusive tips, product updates, and the latest from the Cubix team.