Fix 50 fps Subtitles to 25 fps
Or paste subtitle text
Options
Which frame rate the timings are counted in. On the format pages this is what MicroDVD needs, because it stores timing as frame numbers. On the frame rate pages it is the rate the file was timed against — the version the subtitles were made for — and the page's second box takes the rate of the video you are going to use them with. 23.976, 24, 25, 29.97, 30, 50, 59.94 and 60 are the common ones. Getting it wrong shifts the whole timeline, and on the frame rate pages it shifts it by a ratio rather than by a fixed amount.
The frame rate of the version you are going to use the subtitles with — the video you are actually going to play. The factor applied is the first box divided by this one, so 24 into 25 gives 0.96: a film runs 4% faster on PAL, and a 100-minute feature fits a 96-minute tape. Getting the two boxes the wrong way round shifts the whole timeline in the wrong direction by the same amount.
This page takes a subtitle file whose timings were counted at 50 frames a second and puts them on a 25 fps version. Every timestamp is doubled, so a cue that said thirty seconds means a minute, and a twelve-minute episode's last cue lands at twenty-four minutes. The two boxes are already filled in; change them if your file is counted at something else.
The mistake behind this pair is one of counting rather than one of playback. European high-definition material is often 50 frames or 50 fields a second, and a tool that counts fields produces numbers twice as large as the same shot counted in frames — so a timeline built from those numbers is exactly half the length it should be, and every cue appears at twice its proper time. The same doubling shows up when a file exported from a 50 fps project is delivered against a 25 fps master, or when a subtitle file is generated from a frame-based workflow that was left set to 50.
What makes this page easy to check is that a factor of two is visible before you convert anything. The file's last timestamp is roughly twice the running time of the video, or the subtitles are on screen long after the picture has ended. Every other pair in this group is wrong by a few percent, which takes arithmetic to notice; this one is wrong by a hundred percent, which does not.
Both edges of every cue are doubled, so a one-second line is given two seconds and the reading speed of each line halves rather than rising. Nothing is uploaded, and a whole season goes through the queue in one pass — SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON and CSV files are read as what they actually are rather than as the extension suggests.
Examples
Everything doubles
Input
1
00:00:01,000 --> 00:00:03,000
Hello there.
2
00:01:00,000 --> 00:01:02,000
One minute in.
Output
1
00:00:02,000 --> 00:00:06,000
Hello there.
2
00:02:00,000 --> 00:02:04,000
One minute in.
50 divided by 25 is 2 exactly, so nothing is rounded and nothing drifts: the cue at one second becomes two, the cue at a minute becomes two minutes, and each one is on screen twice as long. If the converted file looks right at the start but the picture ends before the subtitles do, this was not the pair to use — a factor of two is too big to be an accident of rounding.
The give-away is the file's own length
Input
1
00:11:59,000 --> 00:11:59,500
Last cue of the episode.
Output
1
00:23:58,000 --> 00:23:59,000
Last cue of the episode.
A 12-minute episode whose last subtitle sits at 23 minutes and 58 seconds is the diagnosis on its own, before any arithmetic: the timeline is twice as long as the video. Compare this with the growing-error pairs in the group, where the file's total length is still plausible and only the end is visibly out.
A MicroDVD file keeps its frame numbers
Input
{1}{1}50
{250}{300}Hello
Output
{1}{1}25
{250}{300}Hello
For MicroDVD the fix really is just the declared rate: a file whose frames were counted at 50 but read at 25 shows every cue at twice its time, and changing the declaration to 25 puts it right without touching a single frame number. Frame 250 is ten seconds at 25 fps and five at 50, and ten is where that cue belongs.
Frequently asked questions
How does a subtitle file end up timed at 50 fps?
Three ways are common. European high-definition material is 50i or 50p, and a tool that counts fields rather than frames produces numbers twice as large as the same shot counted in frames. A subtitle export taken from a 50 fps project and delivered against a 25 fps master carries the same problem. And a frame-based subtitle workflow left set to 50 while the delivery is 25 produces a file counted at one rate and played at another.
What factor does 50 to 25 use, and what does it look like?
Exactly 2, so the file comes out twice as long. A cue half a minute in lands a minute in, and a cue near the end of a twelve-minute episode lands near twenty-four minutes. Because the factor is a whole number, the result is easy to verify by eye: the first subtitle should appear at twice its old timestamp and the last one should still fall inside the video.
My subtitles are right at the start and half an episode out by the end — is this a factor of two?
Check the file's last timestamp against the video's running time. A proportional error that has grown to half an episode by the end is either this pair or one of the others in the group, and the way to tell them apart is the size of the file: a factor of two makes the last timestamp about twice the video's length, while 0.96 or 1.0427 leave it within a few percent.
A cue that was one second long is now two — is that right?
Yes, and it is the one direction in this group where the reading speed of a line goes down rather than up. The words are unchanged while the time they are given has doubled, so a line that was over the characters-per-second limit before may be inside it now. Nothing needs retiming for that reason alone: doubling the timeline is a correction, not a compromise.
Does interlaced 50i material always need this conversion?
No, and this is the trap in the pair. 50i describes fields, and 50 fields a second is 25 frames a second — the running time of the video is the same either way. Only a file whose timings were actually counted at 50 needs halving. If your subtitles are already right against a 50i video, converting them doubles the error instead of removing it.
What if only part of the file is out — the first half right and the second half wrong?
Then it is not a frame rate problem at all. A file that is correct up to a point and wrong after it has been joined from two pieces, or timed against a version that was assembled from reels running at different speeds, and no single ratio can fix both halves. Split the file at the point where the error starts and convert each half on its own, with its own pair of frame rates.