All toolsWhat’s newOpen the appPrivacy

Subtitle Sync Fixer — Shift or Correct Drifting .SRT / .VTT Timing

runs on your deviceFree, no sign-upOpen full screen

Fix out-of-sync subtitles in your browser. Shift .srt or .vtt timestamps by a fixed offset, or correct frame-rate drift with a two-point linear fit. Free, no upload.

What it does

Drop in a .srt or .vtt subtitle file (or paste the text directly) and this tool re-times every line. If your subtitles are simply early or late by a constant amount — a common result of a slightly different cut of the same video — set one offset and every timestamp shifts together. If they start in sync but drift further off as the video plays — the classic symptom of a subtitle file made for a different frame rate — use drift correction instead, which fixes both ends of the timeline at once rather than just one moment.

How it works

Everything runs client-side: the file is parsed into individual cues (start time, end time, and text), the correction is applied to the numbers, and the result is rebuilt as a fresh .srt or .vtt file. For a plain shift, every timestamp simply moves by the same number of milliseconds. For drift correction, you give two reference points — "this line's original time should actually land here" — for two different moments in the file, and the tool computes a linear scale and offset from those two points together, rather than assuming the whole file drifts by the same flat amount. That's the difference between fixing a video that's simply lagging and fixing one that was authored for 23.976fps but is being watched at 25fps, where the gap between audio and subtitles grows the further into the video you get.

Parsing handles the messy real-world variety of subtitle files: missing hour components, Windows line endings, byte-order marks, VTT NOTE/STYLE blocks, cue identifiers, and inline VTT positioning settings (like align:start position:10%), all of which are preserved rather than silently dropped.

How to use it

  1. Add one or more .srt/.vtt files, or paste subtitle text directly into the box.
  2. Choose Shift for a constant offset, or Drift correction for two-point resync — drift correction also has one-click frame-rate presets (23.976→25 and similar common pairs) if you know the mismatch.
  3. Check the before/after preview shown for each file to confirm the correction looks right.
  4. Download the corrected file, or grab everything at once as a zip if you loaded more than one.

FAQ

Will this fix subtitles that are only wrong in the middle of the video? No — both modes here assume the error is either constant (shift) or grows linearly across the whole file (drift). A subtitle file that's correct in some sections and wrong in others usually means it was hand-edited or merged from two sources, which needs manual fixing rather than a single formula.

Can I convert between .srt and .vtt while I'm at it? Yes. Set "Output format" to force either format regardless of what you uploaded — the conversion happens automatically as part of building the corrected file.

What if I don't know the exact offset? Play the video next to the subtitle file in a text editor, note the time a line should have appeared versus when it does, and enter the difference as your shift value (in seconds, or mm:ss.mmm). For drift, do this at two points — one early in the video, one late — and use those as your two reference points.

Does this touch the subtitle text itself? No — only the timestamps change. Text, formatting tags, and VTT styling settings on each cue are carried through untouched.

My file has some lines that didn't get corrected — why? A line the tool couldn't parse (a malformed timestamp, usually from hand-editing) is skipped and flagged as a warning rather than guessed at, so you can fix that one line yourself without the tool inventing a time for it.

Is there a limit to how many files I can fix at once? No hard limit — batch mode applies the same correction to every file you've loaded and lets you download them individually or together as a zip.

More Video & Audio tools