Scale Subtitle Timing
Or paste subtitle text
Options
A percentage: 100 leaves the file as it is, 50 halves the whole timeline. For frame rate work the factor is source rate divided by target rate — a film-timed file needed for 25 fps PAL, which runs 4% faster, takes 96; a PAL-timed file going back to a 24 fps master takes 104.1667. Every start and every end is multiplied by the same ratio, so cue lengths and the gaps between them change together.
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.
This page multiplies every timestamp in a subtitle file by a percentage. Enter 104.1667 and the whole timeline stretches by that much; enter 96 and it comes back; enter 50 and the file is compressed to half its length. Both the start and the end of every cue are multiplied by the same ratio, so cue lengths and the gaps between them change together, and the later a subtitle sits the further it moves.
The reason that last part matters is that this is the only kind of timing correction that fixes drift. A file that runs two seconds late in the first minute and two minutes late in the last one does not have an offset problem, it has a speed problem: someone timed it against a version that ran at a different rate. Moving everything by a fixed amount makes the beginning worse; multiplying everything by a ratio makes both ends right, because the error being corrected grows with the distance from zero.
The classic case is a frame rate difference — a file timed for 24 fps needed for a 25 fps version, or the reverse. Film runs 4 percent faster on PAL, so its runtime is 96 percent of the original: a 100-minute film fits a 96-minute tape. A file timed against the film therefore has to be compressed by 96, and a file timed against the PAL version has to be stretched by 104.1667 to sit on the film version again. Film transferred at 23.976 fps is a hair different again, which is what the frame-rate pages in this group are for; here you give the ratio yourself, as a percentage.
SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON and CSV files are all read as what they actually are rather than as the extension suggests. Plain text and LRC are not accepted, because neither stores an end time for the ratio to be applied to. Nothing is uploaded, and a whole season goes through the queue in one pass.
Examples
Undoing the 4 percent PAL speed-up
Input
1
00:00:01,000 --> 00:00:03,000
Hello there.
2
00:00:05,000 --> 00:00:08,000
Second line.
Output
1
00:00:01,042 --> 00:00:03,125
Hello there.
2
00:00:05,208 --> 00:00:08,333
Second line.
Scale set to 104.1667, which is 25 divided by 24 — the factor that takes a file timed against a 25 fps PAL version and puts it back on a 24 fps film master. The first cue opens at one second and moves 42 ms; the second opens at five seconds and moves 208 ms. Five times the distance from zero, five times the movement — that is the whole difference between this page and moving everything by a fixed amount.
Why a ratio is what fixes drift
Input
1
00:00:00,000 --> 00:00:02,000
Opening line.
2
00:01:00,000 --> 00:01:02,000
One minute in.
3
00:10:00,000 --> 00:10:02,000
Ten minutes in.
Output
1
00:00:00,000 --> 00:00:02,083
Opening line.
2
00:01:02,500 --> 00:01:04,583
One minute in.
3
00:10:25,000 --> 00:10:27,084
Ten minutes in.
Again 104.1667. The opening line barely moves, the one-minute mark moves two and a half seconds, and the ten-minute mark moves twenty-five. A fixed offset could have lined up any one of those three and would have left the other two wrong; a ratio lines up all of them at once.
Compressing a file to make it fit
Input
1
00:00:10,000 --> 00:00:12,000
First.
2
00:01:00,000 --> 00:01:03,000
Second.
Output
1
00:00:08,000 --> 00:00:09,600
First.
2
00:00:48,000 --> 00:00:50,400
Second.
Scale set to 80. Every cue keeps 80 percent of its length and sits 80 percent of the way out, so a line that was on screen for two seconds now gets 1.6 seconds. Watch the reading speed when you compress: the words did not get shorter, only the time they are given.
Frequently asked questions
What percentage do I need to convert between 24 and 25 fps subtitles?
The factor is always source frame rate divided by target frame rate, so which number to use depends on which version your file was timed against. A file timed against the film at 24 fps, to be used with the 25 fps PAL version, is multiplied by 96. A file timed against the PAL version, to be put back on the film master, is multiplied by 104.1667 — that is 25 divided by 24. Film at 23.976 fps uses 95.904 and 104.2708 for the same two directions, because 23.976 is not exactly 24. In other words 104.1667 is the one that undoes the PAL speed-up, and 96 is the one that applies it.
Why do the later subtitles move further than the earlier ones?
Because the ratio is applied to the distance from zero, not to the cue's own length. A cue at one second moves about 42 ms at 104.1667 percent, while a cue at ten minutes moves twenty-five seconds. That is what makes the tool able to correct drift rather than just shift everything by a constant, and it is why the number you type is a percentage and not a millisecond count.
Does scaling a subtitle file change how long each cue stays on screen?
Yes, in proportion. Both edges of every cue are multiplied by the same ratio, so a two-second line at 80 percent becomes 1.6 seconds and at 150 percent becomes three seconds. Compressing therefore pushes every cue closer to the reading speed limit, and stretching gives each one more time than it had.
Can scaling make two subtitles overlap?
No. Multiplication by a positive ratio is monotone, and rounding to whole milliseconds keeps it that way, so two cues that did not overlap before cannot be made to overlap afterwards. Compressing does shrink the gaps between cues and can bring them to the point of touching, which some viewers render as a flicker, but the cues themselves stay in order.
What happens to a cue that is too short for the scale I chose?
It is dropped, and the count is reported. A 20 ms cue scaled to 1 percent has both of its edges rounding to the same millisecond, and there is no cue left to write at that point. Padding it out to a minimum length would put an invisible cue in the file while the page claimed it had survived, which is a worse answer than removing it and saying so.
Does the first subtitle of the file stay where it is?
Only if it starts at zero. Everything is measured from the start of the timeline, so a file whose first cue opens at 00:01:00 has that lead-in scaled along with the rest. If the opening minute is a fixed title sequence that must not move, what you want is a constant offset rather than a ratio.