Troubleshooting9 min read

How to Fix SRT Subtitles That Are Out of Sync With a Video

Fix out-of-sync SRT subtitles easily. Learn the difference between constant delay and gradual drift, framerate mismatch causes, and how to resync subtitle timing.

Have you ever started a video only to notice that the subtitles appear too early or too late?

You are not alone. SRT subtitles out of sync with a video is one of the most common issues encountered by video editors, content creators, translators, and movie viewers alike.

Sometimes the subtitles are consistently a few seconds ahead or behind the dialogue throughout the entire video. In other cases, subtitles start off perfectly aligned in the opening scene, but slowly drift out of sync as the video plays, ending up minutes off by the time credits roll.

The good news is that nearly all subtitle synchronization problems can be fixed quickly without retyping the dialogue or recreating the subtitle file from scratch.

In this guide, you will learn why SRT subtitles become desynchronized, how to identify the specific type of timing mismatch you are facing, and the most reliable ways to resync your subtitle files permanently.

Why Are My SRT Subtitles Out of Sync?

Subtitle synchronization means that each subtitle cue appears on screen at the exact moment dialogue is spoken and disappears when speech stops.

An SRT file contains timestamps for every cue formatted down to the millisecond:

1
00:01:24,500 --> 00:01:27,800
Welcome back to our channel.

When subtitles fall out of sync, it is almost always due to one of two distinct issues:

  1. Constant Delay (Time Offset): The subtitles start too early or too late by a fixed duration across the entire video.
  2. Gradual Drift (Speed / Framerate Mismatch): The speed of the subtitle timestamps does not match the playback speed of the video, causing the gap to widen over time.

Understanding which issue you have is the critical first step to solving it.


Step 1: Diagnose the Type of Sync Problem

Before attempting to fix your SRT file, watch your video at two different checkpoints: near the beginning (around minute 2) and near the end (around the 80% mark of the video).

Symptom ObservedRoot CauseSolution Required
Subtitles are 3 seconds late at the beginning AND 3 seconds late at the endConstant Time Offset (Linear Delay)Global Time Shift (Add/Subtract Milliseconds)
Subtitles start in perfect sync, but lag 10 seconds behind after 30 minutesFramerate / Speed Mismatch (Gradual Drift)Framerate Conversion or 2-Point Synchronization
Subtitles are early by 5 seconds at the start and 45 seconds early at the endCombined Offset + Framerate MismatchTime Shift + Framerate Scale
Some scenes are in sync, but commercial breaks or cuts throw off timingVideo Cut / Edited Release DifferenceMulti-Point Split or Scene Resync

How to Fix Constant Delay (Linear Time Offset)

A constant delay occurs when all subtitle cues are shifted forward or backward by the same amount of time. This commonly happens when:

  • The video file includes studio logos or intro sequences that were trimmed from the original source.
  • Subtitles were extracted from a broadcast version that had a countdown leader or black frames at the start.

Method A: Quick Playback Adjustment in Video Players

If you only want to watch the video once without permanently modifying the file, popular media players allow instant hotkey adjustment:

  • VLC Media Player: Press H to delay subtitles (if subtitles appear too early) or G to speed up subtitles (if subtitles appear too late). Each press shifts timing by 50 ms.
  • MPC-HC (Media Player Classic): Press F1 to shift subtitles backward or F2 to shift subtitles forward.
  • IINA / QuickTime (macOS): Use keyboard shortcuts Z and X or adjust the subtitle delay slider in the audio/subtitle panel.

Method B: Permanently Shifting Timestamps in the SRT File

If you are publishing a video on YouTube, Vimeo, your website, or an e-learning platform, you must permanently fix the SRT file itself.

1. Calculate the Required Offset

  1. Play the video and locate the very first spoken dialogue cue.
  2. Note the exact timestamp when speech begins (e.g., 00:00:15,200).
  3. Open your SRT file in a text editor (Notepad, VS Code, or TextEdit) and find cue #1.
  4. Note the start time in the SRT file (e.g., 00:00:12,000).
  5. Subtract the file timestamp from the video timestamp:
  6. $$\text{Offset} = 15.200 - 12.000 = +3.200\text{ seconds } (+3200\text{ ms})$$

2. Apply the Global Shift

Because manually editing hundreds of timestamp lines by hand is tedious and error-prone, use a subtitle editor or automated time-shift utility:

  1. Open your SRT file in a subtitle editing tool (such as Subtitle Edit or Aegisub).
  2. Choose Sync / Adjust Timing $\rightarrow$ Shift All Times.
  3. Enter +3200 ms (or your calculated offset).
  4. Save the corrected SRT file.

Every cue in the file will be recalculated with mathematically exact timestamps.


How to Fix Gradual Drift (Framerate Mismatch)

If your subtitles start aligned but slowly lose sync over time, you are dealing with a framerate mismatch.

Why Framerate Causes Subtitle Drift

Video content is recorded and broadcast at various standardized frame rates:

  • 23.976 fps / 24 fps: Standard theatrical film releases and high-end streaming.
  • 25 fps (PAL): Television and video standards used in Europe, Australia, and parts of Asia.
  • 29.97 fps / 30 fps (NTSC): Television standards used in North America and Japan.

When an SRT file created for a 25 fps PAL video is played against a 23.976 fps video file, the video runs approximately 4.1% slower than the subtitles expect. After 60 minutes, the subtitles will be nearly 2.5 minutes ahead of the video dialogue!

Common Framerate Multipliers

Source Subtitle RateTarget Video RateTime Multiplier RatioEffect on Timing
25.000 fps (PAL)23.976 fps (Film)$25 / 23.976 \approx 1.0427$Subtitles run fast; cues need to be stretched
23.976 fps (Film)25.000 fps (PAL)$23.976 / 25 \approx 0.9590$Subtitles run slow; cues need to be compressed
29.970 fps (NTSC)25.000 fps (PAL)$29.970 / 25 \approx 1.1988$Subtitles run fast; cues need expansion

How to Fix Framerate Drift via Two-Point Synchronization

The cleanest way to fix progressive drift without calculating complex framerate math is using Two-Point Synchronization:

  1. Identify the First Cue (Point 1): Find the first spoken line at the start of your video and note its exact timestamp (e.g., 00:01:05,100).
  2. Identify the Last Cue (Point 2): Jump near the end of the video, find one of the final spoken lines, and note its exact timestamp (e.g., 01:42:30,500).
  3. Synchronize in Subtitle Software: In Subtitle Edit, select Synchronization $\rightarrow$ Point Sync (via 2 points). Match Cue #1 to Point 1, and match your final cue to Point 2. The software will automatically scale all timestamps in between.

Step-by-Step: Resyncing Subtitles for Web and Streaming

Once your subtitle timing is synchronized, you may need to convert the file into other formats or optimize it for modern video players.

flowchart TD
    A[Out-of-Sync SRT File] --> B{Determine Sync Issue}
    B -->|Constant Offset| C[Apply Millisecond Time Shift]
    B -->|Gradual Drift| D[Apply 2-Point Sync or Framerate Scale]
    C --> E[Test Playback with Video]
    D --> E
    E -->|Timing Perfect?| F[Export Clean Synced SRT]
    F --> G{Need Web Player / HTML5?}
    G -->|Yes| H[Convert SRT to WebVTT]
    G -->|No| I[Ready for Direct Use]
  1. Verify in Video Player: Play the video at the beginning, middle, and end to ensure the dialogue matches the text.
  2. Inspect Formatting and Encodings: If you notice unusual characters or missing line breaks while fixing sync, review our guide on Fixing SRT Character Encoding Problems and Troubleshooting 10 Common SRT Errors.
  3. Convert for Web Delivery: If you are embedding video on websites or HTML5 players, convert your synced SRT to WebVTT using our free SRT to VTT Converter.
  4. Convert from Other Formats: If your source captions came from plain transcripts, you can also generate timed subtitles using our TXT to SRT Converter.

Common Mistakes to Avoid When Fixing Subtitle Sync

  • Editing Only the First Few Timestamps: Changing only cue 1 and 2 manually will leave hundreds of remaining cues out of sync. Always use global shifting tools.
  • Ignoring Encoding During Save: When saving your edited SRT file, always save as UTF-8. Saving in legacy formats like ANSI can scramble accented characters and non-Latin alphabets.
  • Overlapping Timestamps: When manually altering end timestamps, ensure that a cue's end time does not exceed the next cue's start time, as some players crash or refuse to display overlapping cues.
  • Attempting to Fix Video Cuts by Shifting Once: If a video file has commercial breaks removed, a single global shift will only fix the first section. You must split the SRT file by scenes and align each segment independently.

Frequently Asked Questions

Why do SRT subtitles get out of sync with a video?

SRT subtitles fall out of sync primarily due to two reasons: a constant time offset (the video has intro logos or scenes cut that shift all subtitles by a fixed number of seconds) or a framerate mismatch (the subtitles were timed for 25 fps PAL video while the video runs at 23.976 fps Film, causing gradual time stretching or compression).

What is the difference between constant delay and gradual drift?

In a constant delay (linear offset), subtitles are off by the exact same amount of time (e.g., exactly 3 seconds late) from start to finish. In gradual drift (progressive desync), subtitles start in sync at the beginning of the video but fall further and further behind as the video progresses.

How do I know how many milliseconds to shift my subtitles?

Find a distinct spoken line or sound effect early in the video. Note the video timestamp when the voice is heard, and compare it to the start timestamp in your SRT file. The difference in seconds and milliseconds is your shift offset (e.g., if the voice speaks at 00:01:15,000 but the subtitle cue starts at 00:01:12,500, you need a +2500 ms positive delay).

Can framerate differences cause subtitles to lose sync?

Yes. Video filmed at 24 fps or 23.976 fps runs at a slightly different speed than television broadcasts in Europe (25 fps) or North America (29.97 fps). If an SRT file timed for a 25 fps release is played alongside a 23.976 fps video, the subtitles will drift out of sync by approximately 2.5 seconds every minute.

Can converting SRT to VTT fix sync issues?

Converting SRT to WebVTT changes the format and timestamp delimiters, but it preserves existing timecodes. If an SRT file has out-of-sync timestamps, converting it directly to VTT will preserve that desync. Learn more in our guide on How to Convert SRT to VTT Without Losing Subtitle Timing.

How do I resync subtitles if they start on time but slowly fall behind?

When subtitles progressively drift, you need framerate stretching or two-point synchronization. Identify the first spoken line and align its timestamp, then find the last spoken line near the end of the video and align its timestamp. Subtitle editors will automatically scale all timestamps in between proportionally.

What are the best tools to resync SRT subtitles?

For temporary playback adjustments, VLC Media Player (keys G and H) and MPC-HC (F1 and F2) are quickest. For permanent fixes, subtitle editors like Subtitle Edit or online timestamp shifter tools let you apply global millisecond offsets or framerate adjustments in seconds. Check our Subtitle Tools collection for more utilities.

Does shifting subtitle timing damage the subtitle text or formatting?

No. Shifting timestamps only recalculates the numeric values in the start and end timecodes (e.g., adding or subtracting milliseconds). The cue index numbers, text lines, formatting tags, and line breaks remain completely untouched.


Summary: Getting Your Subtitles Back in Perfect Sync

Out-of-sync subtitles can be frustrating, but solving them is straightforward once you know whether you are dealing with a constant delay or a framerate drift.

  1. For Constant Delays: Calculate the millisecond offset and apply a global time shift.
  2. For Gradual Drifts: Use Two-Point Synchronization or framerate scaling ($25 \leftrightarrow 23.976$ fps).
  3. For Web Delivery: Convert your clean, synchronized subtitles to WebVTT using our SRT to VTT Converter.

Explore our full range of free subtitle conversion and formatting tools in the SRTConverters Tool Suite to manage all your subtitle workflows with ease.