Subtitle Timing Shifter — Fix Out-of-Sync Subtitles

Subtitles consistently early or late? Shift every cue earlier or later by milliseconds or seconds, preview the change cue-by-cue, then download the fixed .srt. Free, no signup.

  • 100% free
  • No signup
  • Runs in your browser

Drop an .srt / .vtt file

or drag & drop here

Loaded into the box above — nothing uploaded.

Negative = earlier · Positive = later. The sample above needs −800 ms.

Quick presets

How to fix subtitle sync

  1. Load your subtitlesPaste the text or drop the file. A sample with an 800 ms delay is preloaded.
  2. Pick a shiftUse a preset or type milliseconds — negative moves subtitles earlier, positive moves them later. Check the per-cue preview.
  3. DownloadGrab the fixed .srt. Timings never go below zero; clamped cues are reported.

Examples

Common sync problems, one click each:

Frequently asked questions

Why are my subtitles out of sync?

The usual culprits: the subtitle file was timed against a different cut of the video (trailers, extended editions), the video has a constant audio delay from encoding, or frame-rate conversion stretched the timeline. A constant offset — every cue off by the same amount — is exactly what this tool fixes.

How do I know how much to shift?

Play the video with subtitles on, pause on a clear line of dialogue, and estimate the gap. Start with ±500 ms presets and fine-tune in 100 ms steps — most sync problems are between 200 ms and 2 seconds. The per-cue preview shows you exactly what changes before you download.

What does a negative shift do?

It moves every subtitle earlier (use it when subtitles appear AFTER the dialogue). Positive shifts move them later (when subtitles appear BEFORE the dialogue). Timings can never go below zero — cues that would go negative are clamped at 0:00:00,000 and the tool tells you how many.

My subtitles drift more as the video goes on. Will this fix it?

Only partially. This tool applies one constant offset to every cue, which fixes constant delays perfectly. If the drift grows over time (a frame-rate mismatch), you need a proportional stretch instead — try shifting the first and last cue separately to measure the drift, then re-time with the SRT Subtitle Generator.

Does it work with .vtt files too?

Yes — paste or upload .vtt as well. The output is always a clean, valid .srt with cues renumbered.

Does my subtitle file leave my device?

No. The shift is pure text math that runs 100% in your browser — nothing is uploaded to any server, and nothing is stored.

Need another video tool?

Scripts that sell, captions without watermarks, silence removed and more — 15 free tools that run entirely in your browser.