ToolConvoyToolConvoyv2.6
MISC

Subtitle Shift — Adjust Subtitle Timestamps Forward or Backward

Shift subtitle timestamps by a precise offset. Fix sync drift in SRT and VTT files — positive or negative offsets, batch shift all cues at once.

● LOCAL · BROWSER-ONLY0 network requests from tools since page load

Subtitle sync drift is one of those problems that every video watcher has encountered and few have a name for. The words appear half a second before the actor speaks, or a full second after, and the offset is constant — every cue is early or late by the same amount. The cause is almost always a mismatch between the subtitle file’s assumed start time and the video’s actual start time: an intro was trimmed, a studio logo was removed, or the subtitle file was ripped from a different release with a different cut. The fix is trivial in concept — add or subtract a constant offset to every timestamp — and tedious in execution, because an SRT file with 1,200 cues means 2,400 timestamp adjustments.

The Subtitle Shift tool applies a single offset to every cue in the file simultaneously. Paste the subtitles, set the offset in hours, minutes, seconds, and milliseconds (positive to push later, negative to pull earlier), preview the first few adjusted timestamps to confirm the direction is correct, and download the result. The tool handles both SRT and WebVTT formats, preserves all non-timing content unchanged, and clamps timestamps that would go below zero with a warning annotation. For the most common sync problem — a subtitle file that is a fixed number of seconds out of alignment — the fix takes ten seconds start to finish.

Advertisement

How to use

  1. Drop your subtitle file

    Drop an .srt or .vtt file. The parser reads all timing blocks and displays the first and last timestamps so you can verify the current sync range before applying any offset.

  2. Set the time offset

    Enter an offset in hours, minutes, seconds, and milliseconds — positive to shift later, negative to shift earlier. The live preview updates the first few cue timestamps so you can verify the shift direction and magnitude before applying.

  3. Download the shifted file

    Download the adjusted subtitle file as .srt or .vtt. All non-timing content — cue numbers, text, styling — is preserved exactly as in the original.

Frequently asked

What causes subtitle sync drift?

The most common causes are different frame rates between the subtitle file and the video (23.976 fps subs on a 25 fps video), a trimmed intro or outro, or a re-encode that added or removed frames at the start. Shifting all timestamps by a constant offset is the standard fix.

Can I shift a range of cues instead of the whole file?

The current version applies the offset to every cue uniformly. For per-range shifting, split the file into segments, shift each independently, and concatenate. Range-based shifting is planned for a future release.

Does it handle negative offsets that make timestamps go below zero?

Timestamps that would become negative are clamped to 00:00:00,000. The affected cues are highlighted in the output with a warning annotation so you can review and adjust manually.

Does the shift wrap around the 24-hour mark?

No — timestamps are treated as linear milliseconds from zero. A cue shifted past 23:59:59,999 keeps the overflow value (e.g., 25:30:00,000). Most video players handle superscript-hour timestamps without issue.

Limitations

  • No linear drift correctionThe tool applies a constant offset. For gradual drift (subs that start in sync and slowly desync), a constant shift is not sufficient. Linear drift correction requires per-cue ratio calculation, which is not supported.
  • No frame-rate-based shiftingFrame-rate conversions (23.976 -> 25, 24 -> 29.97) require a multiplicative factor, not an additive offset. Use a dedicated subtitle editor like Subtitle Edit for frame-rate conversions.
  • No ASS format supportASS subtitle shifting is not supported because ASS timestamps use a different format and often include override blocks with embedded timing. Convert ASS to SRT first with an external tool, shift, then convert back.

Platform notes

macOS
The macOS terminal equivalent is `ffmpeg -itsoffset 2.5 -i subs.srt -c copy shifted.srt`, but FFmpeg's subtitle offset works on the container level, not the text track. Use this tool for direct SRT-text manipulation.
Linux
`subshift` is a niche CLI tool for this task. The browser tool avoids installing a package and gives visual confirmation of the shifted timestamps before saving.
Web
Runs entirely in the browser. Subtitle files are parsed locally and never uploaded — useful for subtitles for unreleased content.
Advertisement
Advertisement