Fix subtitle timing: a constant delay or gradual drift?
Measure the mismatch at two points before choosing a correction. The wrong kind of adjustment can fix the opening and leave the ending further out of sync.
If every subtitle is early or late by the same amount, shift all cue times by that amount. If the error grows during playback, a fixed shift is insufficient. If timing changes after a cut, inspect separate ranges against the final edit.
Compare the beginning and the end
Pick a clear spoken line near the start
Note when the words are heard and when their subtitle appears. Use the same player and final video file throughout the check.
Repeat near the end
A similar difference suggests a constant offset. A larger difference suggests drift; an abrupt difference after an edit suggests a timeline discontinuity.
Choose the correction
Use a fixed shift for a consistent delay. For drift, use an editor with time scaling or two synchronization points. For cuts, check whether each remaining range still belongs to the final video.
| Near the start | Near the end | Likely next step |
|---|---|---|
| 2.5 seconds early | 2.5 seconds early | Move captions later by 2.5 seconds. |
| 1 second early | 6 seconds early | Check timeline speed or frame-rate conversion; one offset will not fix both. |
| Correct before a cut | 12 seconds late after the cut | Review the affected range against the final edit. |
Apply the sign in the right direction
When captions appear before the spoken words, move them later. When they appear after the words, move them earlier. The shift tool uses these labels so you do not have to remember a sign convention.
The same offset is added to both the start and end of each selected cue, keeping its duration. For the synthetic example below, a 2.5-second later shift changes the first cue from 2.000–4.500 seconds to 4.500–7.000 seconds.
| Cue | Original start → end | 2.5 seconds later |
|---|---|---|
| 1 | 00:00:02,000 → 00:00:04,500 | 00:00:04,500 → 00:00:07,000 |
| 2 | 00:00:05,000 → 00:00:07,250 | 00:00:07,500 → 00:00:09,750 |
| 3 | 00:00:08,000 → 00:00:10,000 | 00:00:10,500 → 00:00:12,500 |
Use a range when only part of the timeline changed
The range controls count cues in file order, starting at 1; they do not use custom identifiers written inside a VTT file. Select the first and last affected cue, preview, then compare both range boundaries with adjacent captions.
An adjustment can create overlaps or put a cue before an earlier cue. Whisper Web warns about overlaps and blocks out-of-order starts. These checks catch file-level problems; they cannot tell whether the captions match speech without your review.
Know when to stop shifting
A cue would start before zero
The tool stops and reports the maximum earlier shift for that range. For the example starting at 2 seconds, moving all cues 2.5 seconds earlier is invalid; 2 seconds is the boundary.
The error grows over time
A mismatch in playback speed or frame-rate conversion may change the relationship between the whole subtitle timeline and the video. Adding one constant cannot correct a changing error.
The file contains inline karaoke times
WebVTT can include timestamps inside a cue. This tool refuses to shift those files because moving only the outer times would leave the inner timing wrong.
Verify with the final video
Save the adjusted copy under a new name. Load it into the final player, check the start and end again, then inspect every edited boundary. Keep the original until you have completed this review.
Each preview in Whisper Web is calculated from the source currently in the input box. Changing 2.5 to 3 seconds produces a 3-second shift, not a cumulative 5.5-second shift. To do a separate second operation, explicitly load the first exported result.
Common questions
Can a fixed offset fix a frame-rate mismatch?
Not when that mismatch changes timing progressively across the video. A fixed offset can align one point, but a changing error needs scaling or more detailed editing.
Will this tool listen to the audio and align subtitles automatically?
No. You measure the timing difference and choose the adjustment. The tool applies it to the existing subtitle timestamps.
Does the preview alter my original file?
No. The input stays in the workspace and the adjusted copy is downloaded as a new file. Keep the source file for comparison.

