Subtitle frame rate converter
Rescale subtitle timings between frame rates to fix subtitles that are out of sync over time. This is the classic PAL/NTSC drift, like converting 23.976 to 25 fps subtitles.
100% private. Your files are processed locally in your browser and never uploaded to a server.
Drop a subtitle file
or click to browse · SRT, VTT, ASS/SSA
What this tool does
A frame-rate converter proportionally stretches or compresses every timestamp in
a subtitle file by multiplying it by source FPS ÷ target FPS. Unlike a
simple offset, which moves every cue by the same fixed amount, this changes later cues more than
earlier ones, which is exactly what you need when subtitles slowly fall out of step with the
picture instead of being uniformly early or late.
Why frame rate makes subtitles drift
The same film can be mastered at different frame rates. Cinema and most streaming use 23.976 fps; European PAL television historically used 25 fps. To turn a 24 fps film into a 25 fps PAL broadcast, the whole thing is sped up by about 4%, picture, audio and all. A subtitle file authored for the 25 fps version therefore runs 4% fast against the 23.976 fps version, and vice versa. Four percent sounds tiny, but over a two-hour film it adds up to nearly five minutes of drift by the end credits. That is why a file can start perfectly in sync and finish wildly off.
How to tell you need this (and not the offset shifter)
Watch the first minute and the last ten minutes and compare.
- The subtitles line up at the start but get progressively more out of sync toward the end. The gap grows steadily as the film plays.
- By the finale the captions are several seconds (or more) off, even though they were fine at the opening.
That growing error is the signature of a frame-rate mismatch, and only a proportional stretch can fix it. If instead the subtitles are off by the same amount the whole way through, you do not have a frame-rate problem. Just shift the subtitle timing by that constant offset. There is a fuller diagnosis in the guide on why subtitles go out of sync.
How to find the right frame rates
Set Source FPS to the frame rate the subtitles were made for, and Target FPS to your video's frame rate. If you are not sure of your video's rate, most players show it in their codec or media-information panel. In VLC, for example, it is under Tools ▸ Codec Information. The subtitle's original rate is often hinted at in the release name (a file tagged "PAL" is almost always 25 fps). When in doubt, the overwhelmingly common pair is 25 and 23.976; try one direction, check the end of the film, and flip them if the drift got worse instead of better.
The common conversions
- 25 → 23.976 fps is for subtitles from a PAL TV source, used on an NTSC/film/streaming release. The file is slowed down (×1.0427).
- 23.976 → 25 fps is for subtitles from a film/NTSC source, used on a PAL release. The file is sped up (×0.9590).
- 24 → 23.976 fps is the small "NTSC pulldown" tweak, when a true-24 master meets a 23.976 broadcast copy. The shift is slight but enough to notice on a long film.
Will this damage my file?
No. Rescaling only recalculates the timestamps; the text of every line is untouched, the cue order is preserved, and the file saves back in its original format (SRT, VTT or ASS). The whole calculation runs in your browser, so the file is never uploaded. If a conversion looks wrong, just reload the original and try the other direction. Nothing is changed until you download.
Frequently asked questions
Why do my subtitles slowly drift out of sync?
The video was most likely converted between frame rates, for example a 25 fps PAL version versus a 23.976 fps source. The audio plays at a slightly different speed, so subtitles made for one version drift against the other.
Which source and target framerate should I choose?
Set the source to the fps the subtitles were made for and the target to your video’s fps. The most common pair is 25 and 23.976 fps.
How is this different from shifting subtitle timing?
Framerate conversion proportionally stretches every timestamp, so later cues move more than early ones. Shifting moves all cues by the same constant amount.
How do I know which frame rate my subtitles or video use?
Your video's frame rate is shown in your player's media-information panel (in VLC, Tools then Codec Information). The subtitle's rate is often hinted at in the release name. A file tagged "PAL" is almost always 25 fps. If you are unsure, try the common 25 to 23.976 pairing one way, check the end of the film, and reverse it if the drift got worse.
What is the 25 to 23.976 fps conversion for?
It is the classic PAL-to-film fix. European PAL TV ran at 25 fps while cinema and streaming use 23.976 fps, so the same film runs about 4% faster on PAL. Subtitles made for one version drift against the other, and rescaling between the two rates corrects it.