Subtitle Characters Per Second: The CPS Limits Netflix Uses
Subtitle characters per second, explained: Netflix caps English at 20 CPS, Spanish at 17, Korean at 12 and Japanese at 4 — and why translation breaks yours.
Characters per second is the number of characters in a subtitle divided by how long it stays on screen. Netflix caps adult English programmes at 20 CPS, Spanish at 17, Korean at 12, Simplified Chinese at 9 and Japanese at 4. Those are not arbitrary house rules — they track how much language a character carries in each writing system.
Most subtitle files break the limit in exactly one place: after translation, when the text got longer and the timings did not.
What does characters per second actually measure?
The formula is the whole of it: characters divided by seconds on screen. A 40-character line held for two seconds is 20 CPS. The same line held for four seconds is 10.
What varies between tools is what counts as a character. Nearly all of them count spaces and punctuation. Some count the line break between the two lines of a cue and some do not, which is enough to move a borderline cue across the threshold in one program and not the other. Netflix's Korean guide goes further still and counts a Latin character as half a character, because a Latin letter is physically narrower than a Hangul syllable and occupies less of the line.
Two more Netflix numbers bound the problem from the other side: a subtitle event runs for a minimum of 5/6 of a second — 20 frames at 24fps — and a maximum of 7 seconds, with at most two lines.
Put those together and the design space for a full-length English cue is fixed by arithmetic. Two lines at 42 characters is 84 characters. To stay under 20 CPS it has to be on screen for at least 4.2 seconds, and it may not exceed 7. Every maximum-length cue in a Netflix-conformant file lives in that 2.8-second window, whether the subtitler thought about it or not.
The limits, language by language
Taken from Netflix's own per-language timed text style guides, which are public:
| Language and audience | Reading speed | Characters per line |
|---|---|---|
| English (USA), adult | 20 CPS | 42 |
| English (USA), children's | 17 CPS | 42 |
| Spanish, adult | 17 CPS | 42 |
| Spanish, children's | 13 CPS | 42 |
| Korean, adult | 12 CPS | 16 |
| Korean, adult SDH | 14 CPS | 16 |
| Chinese (Simplified), adult | 9 CPS | 16 |
| Japanese | 4 CPS | 13 full-width |
The pattern worth noticing is that SDH limits are higher, not lower. Korean SDH allows 14 CPS where regular Korean subtitles allow 12. A deaf or hard-of-hearing viewer is reading the subtitle instead of listening, not in addition to listening, so there is more attention available for the text. It is the opposite of what most people assume when they first see the table.
Outside streaming, the BBC's broadcast guidance is expressed in words per minute rather than characters per second — around 160 to 180 wpm. English averages roughly six characters per word once the trailing space is counted, which puts that guidance in the region of 16 to 18 CPS. The two traditions agree more than the different units suggest.
Why is Japanese capped at 4 characters per second?
Because a character is not a unit of meaning in both systems.
A Latin letter is a fragment of a word. Twenty of them per second is about three to four English words. A single kanji is frequently an entire word, and a short Japanese sentence that would take forty Latin characters may take eight. Four characters per second of Japanese is therefore roughly the same quantity of language as twenty characters per second of English — the limits differ because the unit differs, not because readers do.
The same logic runs through the line-length column. Japanese is capped at 13 full-width characters per line against English's 42, and Chinese and Korean at 16. A full-width character occupies about twice the horizontal space of a Latin letter, so 13 of them is a visually similar line to 26 Latin characters, and the remaining gap is the density adjustment.
This is why a flat CPS limit applied across a multilingual project is wrong in both directions at once. Set it to 17 and the Japanese file is more than four times over budget while the English file is being throttled below what its own platform allows.
Do fast subtitles actually hurt comprehension?
Less than the profession has assumed, and the best evidence points the other way on one specific point.
A 2018 eye-tracking study published in PLOS ONE tested 74 viewers — 27 English, 26 Spanish and 21 Polish native speakers — on clips subtitled at 12, 16 and 20 CPS. Comprehension scores showed no significant difference between the three speeds. Participants reported having enough time to read the subtitles and watch the action at all three.
The eye-tracking data produced the genuinely surprising result. Slow subtitles caused more re-reading than fast ones. At 12 CPS viewers went back over roughly two subtitles in three; at 20 CPS, about one in five. A subtitle that sits on screen after it has been read invites the eye to read it again, which costs attention that was supposed to go to the picture.
None of that makes the limits pointless, and it is worth saying why rather than treating a single study as a licence. The study used able adult readers in lab conditions on short clips. Reading speed limits exist for audiences that study did not measure: children, viewers watching in a second language, viewers with low vision or dyslexia, and deaf and hard-of-hearing viewers who have no audio channel to fall back on. A limit is a floor under the worst case, not a description of the average viewer.
The practical reading is narrower and more useful: do not pad a cue to hit a low CPS number. If a line reads cleanly in 2.4 seconds, holding it for 4 does not help anyone.
Why translation is what breaks your CPS
Almost every CPS violation in a real project starts as a correctly timed source file.
Translation lengthens text. English into Spanish or French typically runs 20 to 25 percent longer; German can reach 35 percent, partly because compounds replace whole phrases. Short strings expand proportionally more than long ones — W3C's localisation guidance makes this point with the example of views becoming visualizzazioni, five characters becoming fifteen — and subtitle cues are short strings by definition.
Run the arithmetic on one ordinary line:
- A 42-character English cue on screen for 3 seconds is 14 CPS. Comfortable.
- The same cue in Spanish at 25 percent expansion is 53 characters in the same 3 seconds: 17.5 CPS, over the Spanish limit.
- In German at 35 percent it is 57 characters: 19 CPS.
The timing never moved. The sync is perfect. The cue is simply unreadable now, and no timing tool will report a problem because nothing is out of sync. This is the single most common reason a translated subtitle file feels worse than the original while every automated check passes.
It is also why translating the subtitle file rather than re-transcribing per language still leaves work to do. Keeping the timings is correct; it just moves the entire burden onto the wording. If you are shipping the same video in several languages, the reading-speed pass is a per-language step, not a one-time step.
How to fix a cue that reads too fast
Change the text or the duration. Do not change the sync.
| Fix | What it costs | Use it when |
|---|---|---|
| Extend the out-time | Slight loss of sync with the audio | There is a gap before the next cue |
| Shorten the wording | Nuance | The line is padded or literal |
| Split into two cues | One more cue for the viewer to catch | The line is genuinely long |
| Merge two short cues | Longer time on screen for both | Two brief adjacent lines |
| Move the in-time earlier | Text appears before the words are spoken | Last resort, and rarely worth it |
Extending the out-time is the first move because it is usually free. Subtitles do not have to end when the speech ends, and the gap before the next cue is dead space. Pushing the out-time into it buys reading time at no cost to anyone.
Shortening is the second move and the one that takes skill. Subtitles are not transcripts; condensing spoken filler, redundant pronouns and repeated names is normal practice, not a compromise. What is never acceptable is deleting content to hit a number — if the meaning will not fit, the cue needs splitting, not trimming.
One trap specific to burned-in output: once a cue is burned into the picture, its reading speed is permanent. A soft subtitle file can be re-timed in a text editor after the fact. A hardsub needs a full re-render, so the reading-speed pass belongs before the export, not after it.
Checking reading speed while you edit
A CPS number is only useful if it appears while the line is being written, which is why it belongs in the editor rather than in a separate quality-control pass.
Sablate shows the reading speed of the selected cue in the editor and flags anything above 17 CPS as over the comfort limit, with the suggestion to lengthen the timing or shorten the text. The calculation is the plain one — every character in the cue, spaces and the line break included, divided by its duration — so it reads slightly higher than a tool that ignores whitespace. Because a translation is a layer on the same timeline rather than a separate job, the warning fires on the translated layer with the original timings already in place, which is exactly the moment the problem appears.
Two honest limits on that. The threshold is a flat 17 across every language, so it is too strict for English and far too loose for Japanese, Chinese and Korean — treat it as a Latin-script guide and read the table above for the rest. And it warns; it does not fix. Subtitle Edit is free, lets you set your own characters-per-second limit, and ships rule profiles you can switch between per platform. If reading-speed conformance is the core of your work rather than one step in it, that is the more configurable tool and it costs nothing.
Automatic reflow to bring cues under the limit is part of Pro, which is a single $29 payment on the pricing page.
The short version
Characters divided by seconds, with 17 CPS as the working ceiling for Latin scripts, 12 for Korean, 9 for Chinese and 4 for Japanese. Check it after translation rather than after transcription, because that is where it breaks — the timings stay correct while the text gets 20 to 35 percent longer underneath them. Fix it by extending the out-time first, shortening the wording second, and splitting the cue third.