Clip Caption Kit

How to Split an SRT File by Time Range

To split an SRT by time range, keep the captions that overlap the start and end times, decide how captions crossing those boundaries are handled, subtract the range start from every kept timestamp, clamp negatives to zero, renumber from 1 and save a new SRT. The timestamp splitter automates exactly these steps.

When you need this

  • You cut one highlight out of a long recording and need its captions.
  • A client asks for one section “with subtitles, timed to the clip”.
  • You are checking what a captioning tool did to a range before trusting a batch run.

The tool-assisted method

  1. Open the split SRT by timestamp tool and upload the master SRT.
  2. Enter the start and end time (00:03:42.000 00:04:18.000).
  3. Leave “Reset timestamps to 00:00” on if the file is for the clip itself; turn it off if it must stay on the master timeline.
  4. Pick a boundary policy, review the preview, then export the SRT, TXT and manifest.

The manual method, step by step

  1. Select the captions. A caption belongs to the range when it overlaps it: caption end > range start and caption start < range end. Captions that only touch the boundary are edge cases — decide them with the boundary policy below.
  2. Handle crossing captions. Trim: clamp both timestamps into the range. Exclude: drop the caption entirely.
  3. Subtract the range start. Work in milliseconds: new_start = old_start − range_start, new_end = old_end − range_start.
  4. Clamp negatives to zero. After subtraction no timestamp may be below 0.
  5. Renumber from 1 and write the file with HH:MM:SS,mmm timings and CRLF line endings.
Range:             00:03:42,000 --> 00:04:18,000
Source cue:        00:03:45,500 --> 00:03:48,000
After subtraction: 00:00:03,500 --> 00:00:06,000

Common mistakes

  • Off-by-one-frame trimming. A caption that starts one frame before the clip looks like a 20 ms overlap; trimming fixes it silently, excluding removes a caption you wanted.
  • Forgetting to renumber. Players usually tolerate it, some do not — and a delivery reviewer will notice.
  • Float arithmetic. 3.5 s stored as 3499.99999 rounds to the wrong millisecond. Integer milliseconds only.
  • Repeating this per clip by hand. The second range costs as much as the first; the twentieth costs more in review than in typing. That is the point where the CSV workflow takes over.

Several ranges? Use the CSV batch workflow

When the ranges are a list rather than a one-off, describe them once in a CSV and run the batch SRT splitter. The master SRT guide covers the whole loop including revisions.

Splitting SRT by time range FAQ

Run the same split for every clip

Put the ranges in a CSV once and generate clip-relative SRT and TXT files for all of them in one ZIP.

Batch split my SRT