Subtitle Time Shifter: Fix Out-of-Sync SRT and VTT Subtitles Online
Subtitles appear too early or too late? Shift every timestamp in an SRT, VTT, ASS or SBV file by any number of seconds, only move the part after a given point, or convert between frame rates such as 25 and 23.976 fps. Runs in your browser; the file is never uploaded.
Frame-rate conversion
What it can fix
| Problem | Details |
|---|---|
| Constant delay | Every cue is late or early by the same amount. Shift the whole file by a positive or negative number of seconds, in 0.1 s steps. |
| Delay after a cut | A different intro or an ad break moved part of the video. Set a start point and only cues after it move. |
| Growing drift | The gap gets bigger every minute. That is a frame-rate mismatch: convert 25 → 23.976 fps (or back) to stretch the timeline. |
| Cues pushed before 00:00 | A negative shift never produces negative timestamps; those cues start at 00:00 and are counted so you can check them. |
| Any input, SRT or VTT out | Reads SRT, WebVTT, ASS/SSA and YouTube SBV and keeps multi-line cues intact. |
Questions
- How do I fix subtitles that are out of sync?
- Measure how far off they are: if a line is spoken at 1:00 but appears at 1:02, the subtitles are 2 seconds late, so shift by −2. If the gap is the same throughout the video, one shift fixes it. If it grows over time, use the frame-rate conversion instead.
- Why do subtitles drift further out of sync as the video plays?
- The subtitle was timed for a different frame rate. A file made for a 25 fps PAL release runs about 4% fast on a 23.976 fps video, which adds up to several minutes over a film. Converting 25 → 23.976 fps multiplies every timestamp by 25/23.976 and removes the drift.
- Can I shift only part of a subtitle file?
- Yes. Enter a time under “Only shift from” and cues starting before it stay where they are. This is useful when a cut, an intro of different length or an ad break only affects the second half.
- Is the subtitle file uploaded?
- No. The file is read and re-timed in your browser; there is no upload endpoint on this page.
On YouTube and Bilibili the extension's subtitles follow the player clock, so they never drift in the first place, and come with bilingual translation and summaries.