Split Subtitles Into Multiple Files
Or paste subtitle text
Options
A duration — 600000, 10m and 00:10:00,000 all mean ten minutes. The file is cut at that interval from the start of the file, and every cue goes into the part covering the moment it begins. A cue that runs across a cut stays whole in the earlier part; a part with no cues in it is not written out at all.
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 cuts one subtitle file into several files by the clock. Set a piece length — ten minutes by default — and every cue goes into the file covering the stretch of the timeline where it begins: cues from 0 to 10 minutes into the first file, 10 to 20 into the second, and so on. Nothing is re-timed and no line of text is edited; the pieces are the same cues in the same order, divided at fixed points.
The pieces are anchored at zero, not at the first cue. A file whose first subtitle arrives after ten seconds of black still cuts at ten minutes, twenty minutes and so on, because the person looking for the third part is looking at the film's clock rather than at the first line of dialogue.
A cue that straddles a cut is not split in two. It belongs to the file where it begins and comes out whole, with its own start and end — dividing its text in proportion to time would be a guess presented as a rule. A piece covers its opening instant and not its closing one, so a cue that begins exactly on a cut goes to the file that is about to start, and no cue ever appears in two files.
Several files cannot be downloaded one after another from a single click — browsers drop all but the first — so the parts are packed into one zip named after your file. The first part inside the zip keeps the original name; the rest are named with `.part-2`, `.part-3` and so on in the order they appear. Everything runs in this browser tab, and no byte of your file leaves it. SRT, WebVTT, ASS, SSA, SBV, SAMI, LRC, MicroDVD, TTML, JSON and CSV are accepted.
Examples
Four cues cut into ten-second pieces
Input
1
00:00:01,000 --> 00:00:03,000
First file, first line.
2
00:00:06,000 --> 00:00:08,000
First file, second line.
3
00:00:12,000 --> 00:00:14,000
Second file, first line.
4
00:00:17,000 --> 00:00:19,000
Second file, second line.
Output
First file (film.srt):
1
00:00:01,000 --> 00:00:03,000
First file, first line.
2
00:00:06,000 --> 00:00:08,000
First file, second line.
Second file (film.part-2.srt):
3
00:00:12,000 --> 00:00:14,000
Second file, first line.
4
00:00:17,000 --> 00:00:19,000
Second file, second line.
The cut falls at ten seconds, so cues 1 and 2 land in the first file and cues 3 and 4 in the second. Both keep the numbers they had in the source: a part is a slice of one file, not a new file with its own numbering, and keeping the numbers is what lets you lay a part back against the original and see immediately which cues it holds.
A cue that begins before the cut and ends after it
Input
1
00:00:00,500 --> 00:00:02,000
Opens the first file.
2
00:00:09,000 --> 00:00:12,000
Starts before the cut, ends after it.
3
00:00:10,000 --> 00:00:11,000
Starts exactly on the cut.
Output
First file (film.srt):
1
00:00:00,500 --> 00:00:02,000
Opens the first file.
2
00:00:09,000 --> 00:00:12,000
Starts before the cut, ends after it.
Second file (film.part-2.srt):
3
00:00:10,000 --> 00:00:11,000
Starts exactly on the cut.
Cue 2 begins at nine seconds and runs past the cut, and it comes out whole in the first file — a cue belongs to the piece where it begins. Cue 3 begins exactly on the cut and goes to the second file, because a piece holds its opening instant and not its closing one. Between the two rules, every cue lands in exactly one file.
A file shorter than one piece
Input
1
00:00:01,000 --> 00:00:03,000
First line.
2
00:00:05,000 --> 00:00:07,000
Second line.
Output
1
00:00:01,000 --> 00:00:03,000
First line.
2
00:00:05,000 --> 00:00:07,000
Second line.
Everything fits in one ten-minute piece, so there is nothing to split and you get one file back, identical to the input. You do not get a zip containing a single file: a one-entry archive would make you open a folder to reach what you already had.
Frequently asked questions
How do I know which file a particular subtitle ended up in?
By its start time. A piece covers the minutes from its own boundary up to the next one, and a cue belongs to the piece during which it begins — so a cue starting at 12:04 goes into the file covering 10 to 20 minutes. Its number in that file is the one it had in the original, and its timings are unchanged, so searching the part for a line works exactly as it would in the source.
What happens to a subtitle that runs across a cut?
It stays whole, in the file where it begins. If a cue starts at 9 minutes 58 seconds and ends at 10 minutes 1 second, the first part holds the entire cue with both of its original times. Cutting its text in proportion to the clock would put half a sentence in each file, and guessing where to break it is not something this page can know.
Why is the second file called part-2 when there is no part-1?
Because the first part keeps the name of your file. A tool cannot rename the document it started with, so the piece holding the beginning of the timeline is written as `film.srt` and the rest take `.part-2`, `.part-3` and so on, in the order they cover the timeline. Put them in one folder and sort by name: the parts sit next to the original name in running order.
What if a long stretch of the film has no subtitles at all?
That stretch produces no file. Empty pieces are skipped rather than written out as zero-byte entries, so a two-hour film with subtitles only in the first and last half hour gives you two files, not twelve. Part numbers follow the files that exist, which is why reading the timings inside a part is the only reliable way to see where in the film it belongs.
Does splitting into several files change any timings or any text?
No. Every cue keeps its start, its end and every line of its text; the only thing that changes is which file it lives in. Nothing is dropped and nothing is reported as lost, because nothing is. If you need the timeline itself changed — trimming a range, shifting it, fixing frame rates — those are separate pages that do that one thing each.
How do I set a piece length, and what happens if I want one part per episode?
The box takes `600000`, `10m` or `00:10:00,000`, and all three mean ten minutes — the default. For one file per episode, run each episode's subtitle file on its own rather than one long file for a series: a fixed length starts from zero in every run, so a cut made for a 42-minute episode lands in a different place in a 51-minute one.