Skip to content
Toolmivo
Toolmivo
Subtitles

How to Sync Subtitles With Video (Fix SRT Timing Delays)

Fix subtitles that are early, late or drifting: diagnose the problem, shift SRT or VTT timing, sync cues to your video and export a corrected file.

6 min read

Few things are as distracting as subtitles that appear a second too early or linger after someone has stopped talking. The good news is that most timing problems are easy to fix once you know which kind of problem you have. This guide explains how to diagnose out-of-sync subtitles, how to shift SRT or VTT timing, how to sync individual cues to your video, and how to export a corrected file.

Everything here can be done in the free Online Subtitle Editor, which opens SRT and WebVTT files in your browser without uploading them.

Step 1: Diagnose the problem

Play the video with subtitles at three points: near the start, in the middle and near the end. Note how early or late the text appears each time. What you see tells you which fix you need.

Constant offset: the same delay everywhere

If every line is early or late by about the same amount, for example half a second throughout, the file has a constant offset. This is the most common problem. It often happens when a video was trimmed or an intro was added after the subtitles were made. A single shift of every cue fixes it.

Drift: the delay grows over time

If the subtitles are nearly right at the start but get further off as the video goes on, the timing is drifting. Drift usually means the subtitles were made for a version of the video with a different frame rate, such as 23.976 versus 25 frames per second, so every timestamp is off by a small percentage that adds up.

Shifting can’t fix drift, because each cue needs a different correction. The Subtitle Editor shifts cues by a fixed amount; it does not rescale timing for frame-rate conversion. The best fix for drift is to get subtitles made for your exact video, or to regenerate them from the final edit. For a short clip you can also fix a few cues by hand, as shown below.

A few individual cues are off

If most lines are fine and only some appear too early, too late or for too long, you need to adjust those cues individually, ideally while watching the video.

Step 2: Shift all subtitles earlier or later

  1. Open your .srt or .vtt file in the Subtitle Editor.
  2. In the Shift box, enter the delay in seconds, for example 0.5.
  3. Choose Later if the subtitles appear too early, or Earlier if they appear too late.
  4. Play the video again and check a few points. Repeat with a smaller value to fine-tune.

If only part of the file is off, for example everything after an edit point, tick the checkboxes next to those cues first. The shift then applies to the selected cues only. The editor refuses a shift that would move any cue before 0:00, so you won’t end up with negative timestamps.

Step 3: Sync individual cues to the video

Add your video with Add your video to preview captions. It plays from your device, is never uploaded, and shows the subtitles as you edit them. Then, for each cue that needs work:

  1. Play or scrub to the moment the line is spoken and pause.
  2. Click Set start on that cue to copy the current playback time into its start time.
  3. Move to where the line should disappear and click Set end.
  4. Use the play button on the cue to replay it and confirm the timing.

If a cue’s end time ends up before its start time, the editor highlights it in red and won’t export until it’s fixed. Cues that overlap or are out of order get an amber note, and Sort by time puts them back in sequence. Undo and Redo cover every change, so it’s safe to experiment.

Editing timestamps by hand

You can also type times directly. In an SRT file, each cue has a number, a timing line and the text:

12
00:01:04,250 --> 00:01:06,900
Let’s get started.

SRT timestamps use the format HH:MM:SS,mmm: hours, minutes, seconds and milliseconds, with a comma before the milliseconds. WebVTT uses a period instead (00:01:04.250). In the editor’s time fields, you can type either style or the short form 01:04.250, then press Enter. Invalid times are flagged and never applied.

Avoid editing large files by hand in a plain text editor. One missing blank line or a wrong separator can break the whole file, while the editor checks every cue as you go.

Step 4: Export the corrected file

Choose SRT or WebVTT and select Export. Use SRT for video editors and most upload forms, and WebVTT for web players and the HTML5 video element. If you need the other format later, the SRT to VTT Converter converts in both directions. For more on the formats, see SRT vs VTT.

Common mistakes

  • Shifting the wrong way. Early subtitles need to move later, and late subtitles need to move earlier.
  • Trying to fix drift with a shift. If the error grows over time, a single shift only moves the problem around.
  • Editing the wrong video version. Sync against the exact final cut you will publish, not an earlier draft.
  • Cues that are too short. Lines that flash by in under a second are hard to read. Aim for roughly one to seven seconds per cue.

Checklist

  • Check timing at the start, middle and end to tell offset from drift.
  • Fix a constant offset with one Shift (all cues or a selection).
  • Fix individual lines with Set start and Set end while watching the video.
  • For drift, use subtitles made for your exact video or frame rate.
  • Clear every red error, then export SRT or WebVTT.
try it

Tools used in this guide

keep reading