CapsAI

Subtitle timing converter

Subtitle Frame Rate Converter

When subtitles start in sync and slowly fall behind or run ahead, the file was usually timed for a version of the video at a different frame rate. This converter rescales every start and end time by the ratio of the two frame rates, so the whole file lines up again. It runs in your browser; nothing is uploaded.

Browser-basedFree to use

Start with 3 free minutes

Need to Create Subtitles First?

Upload your video to CapsAI, generate editable AI subtitles, and start with 3 free minutes.

Tool workspace

No account required · processed locally

Use this when captions start in sync and drift further off as the video plays. A constant delay needs the time shift tool instead.

Three steps

How this tool works

  1. 1

    Paste the subtitles that drift out of sync.

  2. 2

    Pick the frame rate they were timed for and the frame rate of your video.

  3. 3

    Every timestamp is multiplied by source fps divided by target fps; download the result.

Useful for

Common workflows

  • A 23.976 fps subtitle file on a 25 fps PAL release of the same film
  • Subtitles made for a 25 fps broadcast copy used with a 23.976 fps download
  • Subtitles drifting by a few seconds an hour between 24 and 23.976 fps versions
  • Re-timing captions after a video was exported at a different frame rate with its speed changed

What it checks

Focused, transparent output

  • Start and end times scaled by the same factor
  • Cue order and text unchanged
  • Millisecond rounding

Frame-rate drift

Frame-rate drift versus a simple delay

Out-of-sync subtitles come in two kinds. One needs a constant shift, the other needs rescaling, and the fix for one does not fix the other.

Why a frame-rate change moves subtitles

Film is shot at 24 frames per second, and video made for NTSC regions often runs at 23.976 (24000/1001) or 29.97 (30000/1001). PAL broadcast and DVD releases traditionally play the same frames at 25 per second, about 4% faster, so the whole film is shorter. Subtitles timed for the 23.976 version start almost in sync on a 25 fps copy and fall further behind with every minute.

The arithmetic

New time = old time × source fps ÷ target fps. From 23.976 to 25 the factor is about 0.959. A line at 0:00:10 moves by 0.4 seconds, but a line at 1:00:00 moves to about 0:57:32.5, nearly two and a half minutes earlier. Between 24 and 23.976 the difference is only 0.1%, about 3.6 seconds an hour: easy to miss at the start, obvious by the end.

How to tell which fix you need

Check one line near the start and one near the end. If both are off by the same amount, use a constant time shift instead. If the error grows, use this converter. The ratio gives the rates away: when a line spoken at 50:00 appears at about 52:08, the factor is 1.043, which is 25 ÷ 23.976. Subtitles that get later and later need the lower rate as the source and the higher as the target.

When both problems happen at once

Some files are timed for a different frame rate and also start at a different point, for example after an intro was cut. Rescale the frame rate first, then fix the remaining constant gap with the subtitle time shift tool. Doing it the other way round scales your offset too. The converter only changes times in the subtitle file; it does not touch or re-encode the video.

Questions

Frequently asked questions

How do I know the source and target frame rates?

The target is your video's frame rate, which most players and file-info tools show. The source is the rate the subtitles were made for. If you do not know it, try the common pair 23.976 and 25; if the last line gets worse instead of better, swap them.

Why do my subtitles get more out of sync over time?

That pattern almost always means the subtitles were timed for a version of the video at a different speed, often 23.976 fps versus 25 fps. A constant offset cannot fix it because the error grows with time.

Is this the same as shifting subtitles?

No. A time shift adds or subtracts the same amount from every cue. This tool multiplies every time by a factor, so cues near the end move much more than cues near the start.

Does it change the video?

No. Only the timestamps in the subtitle file change. The file is processed in your browser and never uploaded.

Will the subtitle text or durations change?

The text stays the same. Each cue's duration is scaled by the same factor as its start, so a 4-second cue becomes about 3.84 seconds when going from 23.976 to 25.

Which frame rates can I choose?

23.976, 24, 25, 29.97, 30, 50, 59.94 and 60 frames per second, for both the source and the target.

Continue your subtitle workflow