Open Subtidy

Subtitles drifting out of sync: when you need a frame rate conversion

Updated 28 September 2026. Written by the team behind Subtidy.

In short: if subtitles start in sync and slip further out as the video plays, the video was most likely sped up or slowed down to a new frame rate, often from 23.976 or 24 fps to 25 fps. Multiplying every timestamp by the ratio of the two frame rates fixes it. If the subtitles are out by the same amount all the way through, you only need to shift them.

Frame rate conversion and timing shift are part of Subtidy Pro. The calculator below is free and tells you which fix you need.

Is it drift or a constant offset?

Compare how far out the subtitles are near the start and near the end of the video.

Drift calculator

Pick one line near the start and one near the end. For each, enter the time the subtitle file gives it and the time you actually hear it in the video. Timecodes like 00:57:32,544 or 57:32.5 both work.

A line near the start
A line near the end

Why does a frame rate change make subtitles drift?

SRT, WebVTT and ASS files store times in hours, minutes, seconds and milliseconds, not in frames. That is why the same file works at any frame rate, as long as the picture runs at the speed the subtitles were timed to.

Drift appears when the picture itself was sped up or slowed down. The classic case is film at 23.976 or 24 fps converted to 25 fps for PAL delivery by playing the same frames faster. The programme runs about 4% faster, so every line of dialogue arrives earlier than the subtitle file expects, and the error grows the further you go:

Time in the 23.976 fps versionSame moment in the 25 fps versionHow late the subtitles are
10:009:35.424.6 s
30:0028:46.31:13.7
60:0057:32.52:27.5
90:0086:18.83:41.2

The fix is to multiply every in and out time by 23.976 divided by 25, which is 0.95904. Going the other way, from a 25 fps subtitle file to a 23.976 fps video, you multiply by 25 divided by 23.976.

When is a frame rate conversion the wrong fix?

When the running time did not change. Many frame rate changes keep the programme the same length: 3:2 pulldown from 23.976 to 29.97, duplicating or blending frames, and most modern standards converters. The dialogue still happens at the same clock time, so an SRT that was in sync stays in sync. Converting it would create drift where there was none.

That is why it pays to measure first. If the calculator shows a ratio of 1, your file needs a shift at most.

How do you find a video's frame rate?

The frame rate the subtitles were timed to is harder to know. If they came with a 23.976 or 24 fps master and your video is 25 fps, that is the likely mismatch. The calculator confirms it from real timings instead of guesswork.

How to convert subtitle frame rates in Subtidy

Subtidy Pro converts between the rates editors meet most: 23.976 to 25 and back, 24 to 25 and back, and 29.97 to 25 and back. It can also shift every cue earlier or later by any number of milliseconds.

  1. Open the file in Subtidy. It stays in your browser.
  2. In Timing, choose the frame rate conversion, and a shift if the calculator suggested one.
  3. Subtidy converts every cue, then runs its checks again. A speed-up makes every subtitle about 4% shorter, so some may now read too fast; the timing fixes and the QC report catch those.
  4. Export as SRT, WebVTT or ASS.

Pro is $5 a month or $39 a year, with a 14-day money-back guarantee. If you only need a single conversion, Subtitle Edit, a free desktop app, has a Change frame rate command that does the same multiplication.

Convert the frame rate of your subtitles

Frame rate conversion is part of Subtidy Pro. Checking and fixing everything else in the file is free.

Sources