What reading speed actually measures
A subtitle has two jobs: say what was said, and stay on screen long enough for a viewer to read it while still watching the picture. Reading speed is the number that tells you whether the second job is possible. It is calculated per subtitle, which the industry calls a cue or an event, and the most common form is characters per second, shortened to cps.
The formula is simple. Count the characters in the subtitle, then divide by the number of seconds between its in time and its out time. A 35-character line that appears at one second and disappears at three and a half seconds is on screen for 2.5 seconds, so it runs at 35 divided by 2.5, which is 14 characters per second.
Three details change the count, and they are worth deciding before you start:
- Spaces and punctuation. This checker counts them, because the eye still has to travel across them. Some subtitle programs count them too; some do not. Netflix's English guide states its limits in characters per second without saying whether spaces are included.
- The line break. A two-line subtitle has a break between its lines. This checker does not count it as a character.
- Formatting tags. Italic tags and position codes in the file are not read by a viewer, so the checker removes them before counting.
Because subtitle editors make different choices on these three points, a cue that sits exactly on the limit can pass in one program and fail in another. The practical answer is to leave a margin of half a character per second or so, rather than timing every cue to the exact ceiling.
The limits most distributors work from
Most delivery specifications borrow from a small number of published style guides. The two that come up most often for English-language work are the guides Netflix publishes for its partners and the subtitle guidelines the BBC publishes. They express the limit in different units, which is why the tool offers both.
| Preset in the tool | Speed limit | Characters per line | Lines per subtitle | Duration rules |
|---|---|---|---|---|
| Netflix English, adult programs | 20 characters per second | 42 | 2 | at least five-sixths of a second, at most 7 seconds |
| Netflix English, children's programs | 17 characters per second | 42 | 2 | at least five-sixths of a second, at most 7 seconds |
| BBC-style | 180 words per minute | 37 | 2 | none applied by this preset |
| Custom | the number you set | the number you set | 2 | none |
The Netflix figures come from the Netflix English Timed Text Style Guide and its companion document of general requirements. The BBC figures reflect the BBC Subtitle Guidelines, which recommend a subtitle speed of 160 to 180 words per minute and limit broadcast subtitles to 37 characters per line. That 37-character limit comes from teletext, the older text system some broadcast platforms still use to show subtitles. For online video the BBC sets line length as a share of the picture instead: 68 percent of the width of a 16:9 frame. The preset uses 180 words per minute as the ceiling, the top of the recommended range, and 37 characters per line.
These are published guides, and publishers revise them. Before you deliver, open the current version of the guide your distributor names in its delivery schedule and confirm the numbers. If the distributor sends its own specification, that document wins over any general guide, including the presets here.
Why one guide uses characters and the other uses words
Characters per second is precise: a long word costs more than a short one, which matches how reading works. Words per minute is easier to reason about when you are writing, because you can count words in your head while you draft.
The two can be roughly converted. English text averages somewhere around five to six characters per word once you include the space after each word. At 180 words per minute, a viewer reads three words a second, which is roughly 15 to 18 characters per second. Treat that conversion as a rule of thumb, not a standard. A cue full of long words can pass a words-per-minute check and fail a characters-per-second check, and the reverse happens with dialogue made of short words.
A worked example: three cues from one scene
The tool opens with an illustrative three-cue scene. Here is the SRT, the plain-text subtitle format most editing programs export:
| Cue | In | Out | Text |
|---|---|---|---|
| 1 | 00:00:01,000 | 00:00:03,500 | I told you never to come back here. |
| 2 | 00:00:03,600 | 00:00:05,000 | You left me no choice, and you know exactly why. |
| 3 | 00:00:05,200 | 00:00:09,200 | Then say it plainly. / Say it so everyone in this room can hear. |
Work through it the way the checker does.
Cue 1. The line has 35 characters, counting spaces and the full stop. The cue runs from 1.000 to 3.500 seconds, so it lasts 2.5 seconds. 35 divided by 2.5 is 14.0 characters per second. That is under the adult limit of 20, and the line is shorter than 42 characters. It passes.
Cue 2. This line has 48 characters. The cue runs from 3.600 to 5.000 seconds, which is 1.4 seconds. 48 divided by 1.4 is 34.29, shown as 34.3 characters per second. That is far over 20. The line is also 48 characters long on a single line, six over the 42-character limit. It fails twice.
Cue 3. Two lines: the first has 20 characters and the second has 41. Together that is 61 characters across 4.0 seconds, which is 15.25, shown as 15.3 characters per second. The longest line is 41, inside the limit, and there are two lines, which is allowed. It passes.
The scene as a whole has 144 characters across 7.9 seconds of subtitles, an average of 18.2 characters per second. That average looks safe, and it is the reason averages are not enough. One fast cue in a calm scene is still a cue that nobody can read.
The tool then tells you how to fix cue 2. At 20 characters per second, 48 characters need 48 divided by 20, which is 2.4 seconds on screen. In the 1.4 seconds the cue has now, 1.4 times 20 is 28, so the text would have to shrink to 28 characters. You can pick either fix, or a mix of the two.
Choosing between more time and fewer words
Look at the gaps first. Cue 1 ends at 3.500 and cue 2 starts at 3.600. Cue 2 ends at 5.000 and cue 3 starts at 5.200. There is very little room to borrow. To give cue 2 its 2.4 seconds you would have to start it earlier, which crowds cue 1, or end it later, which pushes into cue 3. So the realistic fix is a mix: split the line, and condense it.
A condensed version that keeps the meaning might read "You left me no choice. / You know why." That is 22 characters on the first line and 13 on the second, 35 characters in total. At 1.4 seconds it would run at 25 characters per second, still too fast. Stretch the cue so it starts at 3.550 and ends at 5.150, giving it 1.6 seconds, and pull cue 3 to start at 5.200 as before. Now 35 divided by 1.6 is 21.9. Still over. Cut to "You left me no choice." alone, 22 characters over 1.4 seconds, which is 15.7. That passes, at the cost of the second clause.
This is the real work of subtitling. The numbers do not decide what to cut. They tell you that something must go, and how much.
The same scene for a children's program
Switch the preset to the Netflix children's limit of 17 characters per second and run the same file. Cue 1 at 14.0 still passes. Cue 3 at 15.3 passes too, with less margin. Cue 2 fails by more: at 17 characters per second, 48 characters need 48 divided by 17, which is 2.8 seconds, or the cue must be cut to 1.4 times 17, which is 23.8, rounded down to 23 characters.
The lower limit exists because younger viewers read more slowly. If your adaptation is aimed at children or young teens, write the screen dialogue short from the start rather than relying on subtitles to compress it later.
A second example: one line without timings
You do not need an SRT file to use the checker. Type one subtitle into the box and set the duration field. If the text has no timing lines, the tool treats it as a single subtitle shown for that many seconds.
Take this illustrative line, typed on two lines and shown for 2 seconds:
"We have to leave tonight," then "before the river rises."
The first line has 25 characters and the second has 23, so 48 in total. 48 divided by 2 is 24.0 characters per second, four over the adult limit. The tool reports that the line needs 2.4 seconds, or that it must be cut to 2 times 20, which is 40 characters.
A rewrite such as "We go tonight," over "before the river rises." has 14 characters on the first line and 23 on the second, 37 in total. At 2 seconds that is 18.5 characters per second, which passes the adult limit and fails the children's limit, because 18.5 is over 17. One tool run per preset tells you which audiences the line works for.
How to read the checker's output
The result has five parts.
- The verdict says whether any cue breaks a hard limit. Hard limits are speed, characters per line, and number of lines. Any one of them makes the verdict a fail.
- The metrics give the number of cues, how many are over a limit, the fastest cue and its number, the average speed across all cues, and the longest line.
- The table lists every cue with its start time, its duration, its character count, its speed, its longest line, its line count, and a result. A result that starts with "Fix" broke a hard limit. A result that starts with "Check" passed the speed and length limits but has a timing problem.
- What to change gives, for each failing cue, the seconds it needs and the character count that fits the time it has now.
- The note repeats how characters were counted, so you can compare the numbers with your subtitle editor.
What counts as a warning rather than a failure
The Netflix presets also check duration. Netflix's general requirements set a minimum of five-sixths of a second and a maximum of 7 seconds per subtitle. A cue shorter than the minimum can flash past before it is read, and a cue held longer than 7 seconds tends to be re-read, which pulls attention away from the picture. Both produce a warning, not a failure, because a cue that is too long or too short is a timing decision you may have made on purpose. The tool also warns when a cue starts before the previous cue has ended, since overlapping cues usually mean a typing error in a timing line.
How the tool handles a messy SRT file
Real subtitle files are often damaged by copying, emailing, or hand editing. The checker is built to read what it can and tell you what it could not.
- It recognizes SRT timing lines such as 00:00:01,000 --> 00:00:03,500, with a comma before the milliseconds.
- It also recognizes WebVTT timing lines, which use a full stop instead of a comma and may leave out the hours, such as 00:01.000 --> 00:03.500.
- It ignores the cue numbers that sit above each timing line.
- It removes italic tags and position codes before counting.
- Text that sits outside any cue, such as a stray line after a blank line or a header before the first timing line, is skipped and counted, and the tool tells you how many lines it skipped.
- A cue whose end time is the same as or earlier than its start time is reported as a timing error.
- If the text contains no timing line it can read, the whole text is checked as one subtitle, using the duration field.
None of these cases stops the tool. You always get a result, even if the result is a list of problems with the file.
Anatomy of an SRT cue
If you are writing or repairing a file by hand, each cue in an SRT file has four parts, in this order:
- A number on its own line, counting up from 1.
- A timing line: start time, a space, two hyphens and a greater-than sign, a space, and the end time. Times are written as hours, minutes, seconds, and milliseconds, with a comma before the milliseconds.
- One or two lines of subtitle text.
- A blank line, which ends the cue.
WebVTT files follow a similar pattern but begin with the word WEBVTT on the first line and use a full stop before the milliseconds. Most players and platforms accept both formats, but check what your distributor or platform asks for.
Condensing dialogue without losing the scene
When a cue is too fast, the dialogue has to be condensed. Subtitlers have a set of reliable moves, and they apply whether you are subtitling your own film or checking someone else's work.
Remove what the picture already says. If a character points at a door and says "Go through that door over there", the subtitle can say "Go through there". The viewer can see which door.
Drop names used in direct address. "Sarah, I need you to listen to me" can become "I need you to listen". The viewer knows who is speaking to whom.
Cut repetition and filler. "No, no, no, I said I would not do it" becomes "I said I wouldn't do it." Spoken words like "well", "you know" and "I mean" can almost always go.
Use shorter words with the same meaning. "Approximately" becomes "about". "Purchase" becomes "buy". "Immediately" becomes "now".
Keep the information that the plot depends on. If a later scene depends on a name, a time or a number in this line, keep it, and cut elsewhere.
Where to break a two-line subtitle
When a subtitle runs over the line limit, split it into two lines. A good break makes each line read as a complete thought. Common practice, which most style guides share in some form:
- Break after punctuation where you can, such as after a comma or a full stop.
- Break before a conjunction such as "and", "but" or "because", not after it.
- Do not separate an article from its noun, such as "the" from "house".
- Do not split a person's first and last name across lines.
- Do not split a verb from a short word that belongs to it, such as "pick" and "up".
Netflix's English guide prefers a bottom-heavy shape, with the top line shorter than the bottom line, when there is a choice of break points, but it also says not to leave only one or two words on the top line. Check what the guide you are delivering against says on this point.
Shot changes
A subtitle that stays up across a cut is harder to read, because the eye refocuses on the new shot and loses its place in the text. The checker does not see the picture, so it cannot test this. When you review a file, play it against the edit and look for cues that hang over a cut by a few frames. Moving the out time to the cut, or holding the cue until the next cut, usually reads better.
Subtitles, captions and descriptive text
Standard subtitles, which carry the dialogue only, are not the same as subtitles for viewers who are deaf or hard of hearing. The second kind, often called SDH, also describes sound: speaker names when the speaker is off screen, and sound cues in brackets such as a door slamming or music starting.
Those sound cues count toward reading speed in this checker, because the viewer still has to read them. If your file is SDH, expect higher speeds than the same dialogue without sound cues, and leave more time for each cue. Netflix publishes separate guidance for SDH work within its timed text documents, so check the requirements for the exact file type you are delivering.
Why this matters when a book becomes a film
Novels carry a lot of dialogue that reads well on the page and plays too long on screen. A character can speak a 60-word paragraph in a book and nobody minds. On screen, that paragraph becomes six or seven cues, and every one of them has to clear the reading speed limit if the film is subtitled for another language or delivered with captions.
Writing screen dialogue with subtitles in mind helps in three places:
- International sales. Distributors in other countries will subtitle the film. Dialogue that already runs at a sensible pace subtitles cleanly, which means fewer cuts by the translator.
- Accessibility. Many platforms and broadcasters require closed captions or subtitles for the hearing-impaired. Fast dialogue becomes either heavily condensed captions or captions nobody can read.
- Social clips. Many people scroll short vertical clips with the sound off, so captions burned into the picture often carry the dialogue. The same reading speed limits are a sensible ceiling, because the viewer is reading on a small screen.
If you are deciding how long a scene's dialogue can be, the dialogue runtime calculator and this checker work together: one tells you how long the lines take to say, and this one tells you whether the subtitles for those lines can be read.
Burned-in captions on social video
As far as we know, the big social platforms do not publish a characters-per-second limit for captions burned into the video, so the 17 to 20 characters per second range from the streaming guides is a sensible ceiling. Line length is where vertical video differs. The BBC guidelines cover it: they recommend up to three lines per subtitle on a 9:16 frame, and give 25 characters across 90 percent of the width of a vertical frame as roughly the same width as 37 characters in a landscape frame. Preview the clip on a phone before posting and check that no caption sits under the app's buttons or description text.
Common mistakes the checker catches
Timing each cue to the exact limit. A cue at exactly 20.0 characters per second passes here and may fail in another tool that counts differently. Aim a little under.
Checking the average, not the cues. As the worked example shows, a scene can average 18 characters per second with one cue at 34. Viewers experience each cue, not the average.
Long single lines. A 48-character line can be inside the speed limit if it stays up long enough, and still fail because it is wider than the 42-character line limit. Break it.
Three-line subtitles. Netflix allows two lines at most, and the BBC recommends two for landscape and square video, keeping three for vertical 9:16 video. In a landscape film, a third line usually means two cues have been merged, and the fix is to split them.
Cues that never end. A typing error in a timing line, such as an end time earlier than the start time, can produce a cue that the player shows for zero seconds or not at all. The checker reports these as timing errors.
Before you deliver a subtitle file
Use this list as a final pass. It takes a few minutes for a short film.
- Run the whole file through the checker against the preset your distributor names.
- Fix every cue marked "Fix", using the seconds or character counts the tool gives.
- Read every cue marked "Check" and decide whether the timing is intentional.
- Play the file against the picture once at full speed and look for cues that cross a cut.
- Confirm the file format, character encoding and frame rate the distributor asks for. Many delivery specifications ask for UTF-8 text.
- Open the current version of the style guide named in your delivery schedule and confirm the numbers have not changed since this page was written.
Sources and rules this page relies on
- Netflix English Timed Text Style Guide, published by Netflix for its partners: the 20 and 17 characters per second reading speed limits for adult and children's programs, the 42-character line limit and the two-line maximum.
- Netflix Timed Text Style Guide: General Requirements, published by Netflix: minimum and maximum subtitle event durations and general timing practice.
- BBC Subtitle Guidelines, published by the BBC: the 160 to 180 words per minute subtitle speed, the 37-character teletext line limit and 68 percent online width rule, and the recommended line counts for landscape and vertical video.
- SubRip (SRT), a plain-text subtitle format with no formal standards body behind it; the cue structure described here is the form most editing programs export.
- WebVTT: The Web Video Text Tracks Format, a specification published by the W3C, for the alternate timing syntax the checker also reads.
Style guides are updated without much notice. Treat the numbers on this page as a description of those guides as we understand them, and confirm the current version with the publisher or your distributor before you rely on them.