Skip to content
TextArray
100% local

Subtitle reading speed (CPS)

Measure characters per second for every subtitle cue and flag the ones nobody can read.

Input

Subtitle reading speed (CPS)

A subtitle that flashes by faster than the eye can read is worse than no subtitle: the viewer loses both the line and the scene behind it. The industry's measure for this is CPS — characters per second — and this tool computes it for every cue in a pasted .srt or .vtt file: the cue's visible characters (markup stripped, line breaks excluded, spaces included, exactly the professional convention) divided by its duration.

Every cue becomes one report line with its number, start time, CPS, the WPM equivalent, and the raw character and duration figures. Cues above the threshold get a visible flag, and the tally sums it up: how many were flagged, the total cue count and the file's fastest cue. The default threshold of 20 CPS is Netflix's own limit for adult programming; children's content is usually held to 17, and many European broadcasters work to 12–15. The threshold is adjustable so you can check against whichever guideline your platform enforces.

The parser is the same forgiving, line-based one the other subtitle tools here use: SRT commas and VTT dots both parse, hourless VTT stamps work, formatting tags like <i> and {\an8} are stripped before counting, and multi-line cues are measured as one text. A zero-duration cue reads as infinitely fast and is always flagged — that is a timing bug worth finding.

Fixing a flagged cue means shortening the text or extending the duration; the SRT time shifter next door helps with global timing. Everything runs locally in your browser — your subtitles never leave your device.

FAQ

What counts as a character for CPS?
Everything the viewer reads: letters, digits, punctuation and spaces, with line breaks excluded and formatting tags like <i> stripped first. That matches the convention subtitling guidelines and tools like Subtitle Edit use, so the numbers are comparable.
What is a good CPS limit?
Netflix specifies up to 20 CPS for adult programs and 17 for children's content; many European broadcasters and the classic BBC guidance sit lower, around 12–15. If in doubt, 17 is a comfortable target for general audiences.
Why does a cue show infinite CPS?
Its end time is not after its start time, so the duration is zero or negative — any text is unreadable in that window. It is flagged unconditionally, because it is a timing error rather than a pacing choice.
How do I fix a too-fast cue?
Shorten the text (condense, drop filler words) or give the cue more time — extend its end or merge it with a neighbor. After editing, paste the file again; the analysis is instant.
Is my subtitle file uploaded anywhere?
No. The analysis runs entirely in your browser and the file never leaves your device.