Nothing screams “amateur upload” like subtitles that lag the dialogue by two seconds. The viewer reads the punchline before the speaker delivers it, or reads the answer while the question is still being asked. It’s distracting, it looks broken, and — here’s the good news — it’s usually a ten-second fix, not a re-transcription.

Our free subtitle sync adjuster shifts all timestamps in your SRT or VTT file by whatever offset you dial in — in the browser, no upload. But first you have to diagnose which kind of out-of-sync you’re dealing with, because the fix depends on it.

Step 1: Diagnose — constant delay vs. progressive drift

This distinction determines everything. Do the two-point check:

  1. Play the video and note the first subtitle. How far off is it? Say the first line appears 1.5 seconds after the words are spoken.
  2. Jump to the last subtitle. How far off is it now?

Same error at both ends → constant delay. First line 1.5 s late, last line 1.5 s late. The whole file is shifted by one fixed amount. This is the common case and the easy fix: shift every timestamp by −1.5 s (negative = earlier).

Error grows over time → drift. First line fine, middle lines 3 s late, last line 8 s late. The timing scale is wrong, not just the offset. Causes below.

Error is random per line → bad transcription. Some lines early, some late, no pattern. No global shift will fix this — the timestamps were never right. You need to re-time (or regenerate with our SRT generator) rather than shift.

Fixing constant delay: the 10-second repair

Constant delay has constant causes:

  • The video got a new intro. You added a 4-second branded intro after the subtitles were timed. Every line is now 4 s early relative to the video → shift +4 s.
  • A section was cut. You removed 12 seconds from the middle. Everything after the cut is 12 s late → shift those lines −12 s (or shift the whole file and fix the pre-cut lines separately).
  • Platform processing lag. Some uploads introduce a small fixed delay (0.2–0.5 s) in how the player renders the track. Shift to compensate.
  • Transcription tool offset. Auto-captioning tools sometimes stamp everything a beat late. A single global shift corrects the whole file.

The repair with the subtitle sync adjuster:

  1. Drop in your .srt or .vtt.
  2. Dial in the offset — start with your measured error (e.g., −1500 ms if lines appear 1.5 s late; negative pulls them earlier).
  3. Download, reload in the player, check the first and last lines.
  4. Iterate once if needed — most files nail it on the second try.

How to measure the offset precisely: pause the video at the exact moment a distinctive word is spoken, read the video timestamp, then find that line in the subtitle file and compare its start time. The difference is your offset. One measurement beats five guesses.

Fixing drift: the frame-rate culprit

Drift means the subtitle clock and the video clock run at different speeds. The classic cause is frame rate mismatch:

  • Subtitles timed for 25 fps played against a 23.976 fps video: drift ≈ 3.6 seconds per hour, growing steadily.
  • A PAL (25 fps) subtitle file on an NTSC (29.97 fps) video: worse.
  • The file was timed against a preview render at one frame rate, then the final export used another.

The math fix: if you know both frame rates, the correction factor is target_fps / source_fps. Multiply every timestamp by that factor. A sync tool with drift correction does this in one operation — you enter the source and target rates instead of hand-editing hundreds of timestamps.

The practical fix when you don’t know the rates: measure the error at two points (say, 10 minutes in: 2 s off; 40 minutes in: 8 s off). The drift rate is (8−2)/(40−10) = 0.2 s per minute. A linear correction with that slope re-times the file. Then verify at three points — start, middle, end — not two. Drift fixes can look right at two points and bow in the middle.

Prevention beats repair: when you generate subtitles, generate them from the final export, not a preview. Our subtitle generation workflow does transcription against the file you upload — if that’s the final cut, the timing starts correct.

The real example: the re-uploaded webinar

A creator uploads a 90-minute webinar with an SRT file timed to the original recording. Then she edits the video: trims 30 seconds of dead air from the opening, cuts a 5-minute tangent at minute 40, and exports. Now:

  • Lines 1–40 (before the first cut): 30 s late → shift −30 s.
  • Lines after minute 40: 5 min 30 s late → shift −330 s.

One global shift can’t fix two different offsets. The repair: split the SRT at the cut point, shift each half by its own offset, rejoin. (Or: re-time from the final export in the first place — ten minutes of prevention vs. thirty minutes of surgery.) This is also why editors should lock the video edit before timing subtitles, not after. Subtitles are a finishing step.

Sync mistakes that make it worse

Shifting the wrong direction. Lines appearing late need a negative shift (earlier). This trips everyone up the first time. Remember: the subtitle is late → move it earlier → negative offset.

Fixing drift with a constant shift. You shift +3 s, the middle looks right, and the end is now 6 s off in the other direction. If two-point measurement shows different errors, it’s drift — don’t force a constant shift onto it.

Editing timestamps by hand. Opening the SRT in a text editor and nudging individual lines works for 5 lines. For 500 lines, it’s how you introduce typos into timestamps — and one malformed timestamp can break strict players. Use the tool; that’s what it’s for.

Forgetting the re-check. Always verify at the start, middle, AND end after a fix. Sync errors love to hide at the boundaries.

When the file itself is fine but playback isn’t

Sometimes the subtitles are perfect and the player is the problem: a smart TV app with a fixed subtitle delay setting, a browser extension interfering with the track element, or a phone player that renders VTT late. Before you “fix” the file, test it in a second player (VLC is the gold standard for subtitle rendering). If it’s in sync in VLC, the file is innocent — check the original player’s delay settings first.

Diagnose first (delay vs. drift vs. bad timestamps), shift second, verify at three points third. The subtitle sync adjuster handles the shifting — free, in your browser, SRT and VTT. Your viewers will never know the subtitles were ever wrong, which is exactly the point.