Clip Caption Kit

Batch Split One SRT into Multiple Subtitle Files

Upload one master SRT and a CSV of clip names, start times and end times. Generate separate, re-timed SRT and TXT files for every clip in one ZIP — without copying captions or recalculating timestamps by hand.

CSV format and example

Three columns are required. Every row becomes one output file pair, named after the clip.

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 clip CSV or the blank template, and the example master SRT to run a full export without your own files.

How batch SRT splitting works

  1. Upload the master subtitles exported for the full-length source video, podcast or webinar.
  2. Upload the clip timeline CSV. Every row is validated with its row number and original line shown for anything that needs fixing.
  3. Review each clip: caption count, boundary warnings, the safe filename actually used, and the first and last caption. Then export one ZIP.
Manual workflowClip Caption Kit
Search the master SRT for every rangeRead all ranges from one CSV
Copy captions into separate filesGenerate all clip files together
Subtract each clip start time by handRe-time every caption automatically
Renumber and rename files manuallyConsistent numbering and filenames
Repeat for every revisionRe-run the same project deterministically

What files are included in the ZIP

Each clip leaves with the same pair of files, and the manifest makes the package auditable without opening a single one:

episode-042-shorts-deliverables.zip
├── srt/
│   ├── opening-highlight.srt
│   ├── clean-excerpt.srt
│   └── silent-b-roll.srt
├── txt/
│   ├── opening-highlight.txt
│   ├── clean-excerpt.txt
│   └── silent-b-roll.txt
└── manifest.csv

How clip-relative timestamps are calculated

For every caption inside a clip, the clip start time is subtracted in integer milliseconds — never floating point — and the result is written back in standard SRT format:

Source cue:        00:03:45,500 --> 00:03:48,000
Clip starts:       00:03:42,000
Clip-relative cue: 00:00:03,500 --> 00:00:06,000

Captions are renumbered from 1 in every file, and no timestamp can be negative, so each file is valid on its own.

Boundary caption handling

A caption that crosses a clip start or end can be trimmed to the boundary (the default) or excluded entirely. The policy is chosen per clip in the review step and recorded in manifest.csv, so a revision months later reproduces the same result.

The full walkthrough — including the manual method and the timestamp formulas — is in How to Split One Master SRT for Multiple Video Clips, and the scenario page explains what editors and podcast teams use it for on the subtitles for video clips page.

Batch SRT splitter FAQ