How to use the subtitle reading speed checker
- Paste subtitles in SRT or WebVTT form into the box.
- Set the limits you work to: the fastest reading speed, the longest line, the most lines in a cue, and the shortest and longest cue.
- Read the number of cues with a problem and the table that lists them with their time, length and speed.
- Download the CSV for the full list of cues with their measurements.
Formula
duration = end time - start time of the cue, in seconds
characters = letters, digits, spaces and punctuation in the text, without tags or line breaks
reading speed = characters / duration (characters per second)
flag a cue if the speed, line length, line count or duration breaks a limit, or if it starts before the cue above ends
Times are read to the millisecond. Markup such as <i> and codes in braces are removed before counting.
A sample with four cues
The second cue lasts from 3.6 to 4.4 seconds, which is 0.80 seconds, and holds 56 characters. That is 70.0 characters per second, far above a limit of 17, and the cue is also shorter than 0.83 seconds and has a line over 42 characters, so it is marked Too fast, Too short and Long line.
The fourth cue holds 72 characters in 2 seconds, which is 36.0 characters per second, and it starts at 8.5 seconds while the cue above ends at 9.0, so it is flagged for speed, line length and overlap. The summary shows 2 of 4 cues with a problem, and the first and third cues read comfortably.
Where the limits come from
The limits are the numbers you type. Broadcasters, streaming services and clients publish their own, and they differ by language, audience and content. The values the tool starts with are examples only, so replace them with those of the guide you have been given.
To change the timing of a file, use the SRT Subtitle Converter and Time Shifter. To break long captions into shorter lines, try the Caption Line Breaker, and to look at the writing itself, the Sentence Length Analyzer.
What a flag means
A flag is a prompt to look at the cue. A fast cue is not always wrong, for example a short sound or a name, and a slow one is not always right. The tool cannot hear the audio or judge the scene, so it checks only the numbers. Blocks that have no timing line are counted and reported as unread.
Assumptions and limits
- The text is SRT or WebVTT, with a line that has two times joined by an arrow.
- Characters are counted by code point after removing markup, so an accented letter counts once.
- Cues are checked in the order they appear, and overlap is judged against the latest end time seen.
- Up to 1,000,000 characters and 5,000 cues are read, and nothing is uploaded.
Frequently asked questions
Are spaces counted as characters?
Yes, spaces and punctuation count, and line breaks do not. This follows the common practice for characters per second, but check whether your guide counts differently.
Why does a cue with no text show as fast?
A cue with no text has a speed of zero. A cue whose end time is not after its start time has no valid duration, so it is flagged as ending before it starts.
Does the tool fix the problems?
No. It reports them. Edit the file in your subtitle editor, or use a tool that re-times cues, and check again.
What about right to left or Chinese subtitles?
The count is by characters, so it works for any script, but a fixed limit is more meaningful for some languages than others. Use the limit your guide gives for that language.