Step 1 — Prepare the two inputs
The master SRT
Export subtitles for the full-length source and keep it untouched. Every clip file is derived from it, so it stays the single source of truth — never edit a derived clip file and expect the change to survive a re-run.
The clip timeline CSV
Three required columns: name,start,end. Copy the in/out points from your editing timeline. Extra columns are ignored, and both HH:MM:SS.mmm and HH:MM:SS,mmm work.
name,start,end intro,00:00:15.000,00:00:45.000 clip-01,00:03:42.000,00:04:18.000 clip-02,00:08:14.000,00:09:02.000
Download the example CSV or the blank template.
Step 2 — What happens to each caption
For every row, captions are kept when they overlap the range, re-timed against the clip start and renumbered from 1:
Master cue: 00:03:45,500 --> 00:03:48,000 "so today we ship it" Clip: clip-01 00:03:42,000 --> 00:04:18,000 Overlap check: 03:45,500 > 03:42,000 and 03:48,000 < 04:18,000 → fully inside Re-timed: 00:00:03,500 --> 00:00:06,000 Renumbered: cue 2 of clip-01 (after the 03:43 caption)
A caption that starts before the clip or ends after it is a boundary caption: trim it to the boundary (the default) or exclude it. All of this is computed in whole milliseconds, so the same input always produces the same output. The results are clip-relative subtitle files: cue timings measured from the clip's first frame (00:00:00,000) rather than the source video's timeline.
Step 3 — Run it and review
- Open the batch SRT splitter and upload both files.
- Fix anything the row-level validation reports — each message names the row and shows the original line.
- Review each clip: caption count, boundary warnings and the safe filename that will actually be written.
- Export one ZIP with
srt/,txt/andmanifest.csv.
Three ways to do this, compared
| Method | Strength | Watch out for |
|---|---|---|
| By hand | Zero setup, fine for one clip | Time subtraction, renumbering and naming are repeated for every clip and every revision |
| A script | Fully automated once written | Boundary captions, duplicate names and encoding edge cases are yours to maintain |
| Clip Caption Kit | CSV in, audited ZIP out, with the manifest recording every decision | Requires signing in; the free plan covers 3 projects per UTC day with up to 100 captions per project |
Revisions: change the CSV, not the files
Because the timeline lives in the CSV, a revision is a one-row edit and a re-run. Two properties make this safe: the master SRT is never modified, and manifest.csv records the range, caption count, boundary policy and warning count for every clip in the package, so a reviewer can audit the delivery without opening the files.
Edge cases worth knowing
- 0 captions in a range — warned, not blocked; silent b-roll is a real deliverable.
- Ranges past the end of the SRT — warned so a typo like
00:80:00cannot silently produce an empty file. - Duplicate clip names — blocked, because two files cannot share a name; rename one row.
- Unsafe characters in names — previewed with the cleaned filename shown next to the original.
Master SRT splitting FAQ
- Do I need one SRT per clip before using the batch workflow?
- No. The whole point is the opposite: you keep exactly one master SRT for the full-length source, and every clip file is generated from it.
- What if two clip ranges overlap?
- Overlapping ranges are allowed and warned about, because they are sometimes intentional (a cold-open that repeats the intro). Each range is processed independently, so both clips get complete captions.
- What happens to a range with no captions?
- It is reported as a warning, not an error. Silent b-roll is a legitimate clip — you decide whether to export an empty file pair or fix the range first.
- How do revisions work?
- Edit the affected rows in the CSV and run the export again. The master SRT stays untouched, so only the changed clips move — and manifest.csv records the new state of the whole package.
- Should I use a script instead?
- A script works once you have written and tested it. The three failure modes — boundary captions, renumbering, filename safety — are exactly the parts that take longest to get right, which is what the batch tool already handles.
References
- SubRip subtitle format — The `HH:MM:SS,mmm --> HH:MM:SS,mmm` cue timing and comma-separated milliseconds the parser accepts.
- RFC 4180: Common Format and MIME Type for CSV Files — The comma-separated `manifest.csv` written into every export ZIP, including its quoting and CRLF rules.
Open the batch SRT splitter
Bring the master SRT and the clip CSV — the re-timing, renumbering and packaging are one click from there.
Open the Batch SRT Splitter