About this tool
Audit SRT and WebVTT cue timing, overlaps, reading-speed signals, and line limits locally with configurable editorial thresholds.
The Caption Speed & Collision Checker parses an SRT or WebVTT file and flags every cue that overlaps the previous one, runs too fast to read, or breaks your line limits — using editorial defaults of 20 characters per second, 180 words per minute, 1–7 second cue duration, 2 lines, and 42 characters per line. It strips markup tags and HTML entities before counting, so styling like <i> or & never inflates a reading-speed number. Subtitlers, localisation QA and accessibility reviewers get a per-cue finding list plus a counts-only report that contains no caption text at all.
Open Caption Speed & Collision Checker on AltFTool — it loads instantly in your browser.
Use Open file for a local .srt or .vtt, paste the cues into the caption box, or press Load sample.
Set Maximum CPS, Maximum WPM, Minimum and Maximum duration (seconds), Maximum visible lines and Maximum characters per line, then press Check captions.
Read the per-cue findings for overlaps in milliseconds and over-speed cues, then press Download counts-only report to save caption-audit-counts-only.json.
Tags and entities are stripped before characters and words are counted, so <i>italics</i> and do not distort CPS or line length.
CPS, WPM, minimum and maximum duration, line count and characters per line are all editable, so the audit matches your house style rather than a fixed preset.
The exportable report holds only aggregate counts and your threshold settings — no cue text, timestamps, identifiers or filenames.
The tool defaults to a maximum of 20 characters per second and 180 words per minute, which sits in the range most broadcast and streaming style guides use for adult content. Guides for children's programming are usually slower, so lower the CPS threshold if you are working to one.
The default window is 1,000 ms minimum and 7,000 ms maximum per cue; anything shorter is flagged as too brief to read and anything longer as lingering. Both limits are configurable if your delivery spec differs.
Yes — every cue that begins before the previous positive-duration cue ends is reported as an error, along with the size of the overlap in milliseconds. Cues whose end time is not after their start time are separately flagged as nonpositive duration.
Yes. The format is auto-detected from the WEBVTT header or the timestamp separator — a comma before the milliseconds means SRT, a period means WebVTT — and WebVTT NOTE, STYLE and REGION blocks are skipped rather than audited as cues.