Reference · 30 languages
Subtitle reading-speed and line-length limits vary widely by language. Netflix caps adult English subtitles at 20 characters per second (CPS) and 42 characters per line, but Japanese at just 4 CPS and 13 full-width characters, while Chinese and Korean lines cap at 16 characters. The table below lists these limits for 30 languages — maximum CPS, characters per line, script, writing direction, and how much text expands or shrinks when you translate from English (Spanish ≈ +22%, German ≈ +20%, Japanese ≈ −55%). Figures come from the Netflix Timed Text Style Guides, the most widely cited public subtitle spec.
Last updated: 2026-06-11
| Language | Script | Direction | Max CPS | Chars / line | Length vs English |
|---|---|---|---|---|---|
| English | Latin | Left-to-right | 20 | 42 | baseline |
| Spanish | Latin | Left-to-right | 17 | 42 | ≈ +22% |
| Portuguese | Latin | Left-to-right | 17 | 42 | ≈ +20% |
| French | Latin | Left-to-right | 17 | 42 | ≈ +20% |
| German | Latin | Left-to-right | 17 | 42 | ≈ +20% |
| Italian | Latin | Left-to-right | 17 | 42 | ≈ +18% |
| Japanese | Japanese | Left-to-right | 4 | 13 * | ≈ −55% |
| Korean | Hangul | Left-to-right | 12 | 16 * | ≈ −45% |
| Chinese (Simplified) | Han | Left-to-right | 9 | 16 * | ≈ −60% |
| Chinese (Traditional) | Han | Left-to-right | 9 | 16 * | ≈ −58% |
| Arabic | Arabic | Right-to-left | 17 | 42 | ≈ +25% |
| Hindi | Devanagari | Left-to-right | 17 | 42 | ≈ +15% |
| Russian | Cyrillic | Left-to-right | 17 | 42 | ≈ +15% |
| Vietnamese | Latin | Left-to-right | 17 | 42 | ≈ +12% |
| Indonesian | Latin | Left-to-right | 17 | 42 | ≈ +15% |
| Thai | Thai | Left-to-right | 17 | 42 | ≈ −5% |
| Turkish | Latin | Left-to-right | 17 | 42 | ≈ +10% |
| Dutch | Latin | Left-to-right | 17 | 42 | ≈ +18% |
| Polish | Latin | Left-to-right | 17 | 42 | ≈ +18% |
| Swedish | Latin | Left-to-right | 17 | 42 | ≈ +6% |
| Greek | Greek | Left-to-right | 17 | 42 | ≈ +12% |
| Czech | Latin | Left-to-right | 17 | 42 | ≈ +12% |
| Romanian | Latin | Left-to-right | 17 | 42 | ≈ +18% |
| Hungarian | Latin | Left-to-right | 17 | 42 | ≈ +18% |
| Hebrew | Hebrew | Right-to-left | 17 | 42 | ≈ −5% |
| Persian | Arabic | Right-to-left | 17 | 42 | ≈ +20% |
| Ukrainian | Cyrillic | Left-to-right | 17 | 42 | ≈ +15% |
| Tamil | Tamil | Left-to-right | 17 | 42 | ≈ +15% |
| Filipino | Latin | Left-to-right | 17 | 42 | ≈ +20% |
| Malay | Latin | Left-to-right | 17 | 42 | ≈ +15% |
CPS = characters per second (reading-speed cap). Lines marked *count full-width CJK characters, each roughly two Latin character widths wide. “Length vs English” is the median character-count change when translating from English and is directional only — real expansion varies by sentence. Source: Netflix Timed Text Style Guides (per-language) and standard localization expansion tables.
Two numbers govern whether a subtitle is comfortable to read. The CPS cap is how fast text may appear relative to its on-screen duration: a cue showing for 2 seconds at 17 CPS can hold about 34 characters. The line-length capis the maximum width of a single line before it must wrap to a second line — and no subtitle should exceed two lines. When a translation pushes past either cap, you shorten the wording or re-break the line; you never extend the cue’s duration, because that desyncs it from the video. See subtitle reading speed explained for the full formula.
Chinese, Japanese and Korean use full-width characters, each carrying more meaning and more visual width than a Latin letter. A 16-character Chinese line can express what takes 40+ Latin characters, so the character caps look small but the information density is high. This is also why translating into CJK shrinks the character count sharply (Japanese ≈ −55%) while translating out of it expands the text.
When you translate English into a Romance, Germanic or Slavic language, expect lines to grow 15–25%. A line that fit 42 characters in English may need re-breaking in Spanish or German. The fastest way to stay in spec is to translate the text only — keeping every cue and timecode fixed — then tidy any overlong lines. That is exactly how a subtitle file translator should work: structure preserved, text rewritten.
It depends on the language. Netflix caps adult English subtitles at 20 characters per second (CPS), most Latin-script languages at 17 CPS, Korean at 12 CPS, Simplified and Traditional Chinese at 9 CPS, and Japanese at just 4 CPS because each full-width character carries more meaning. The broad industry range is about 15–20 CPS for adult content and lower for children's programming.
Netflix allows 42 characters per line for Latin, Cyrillic, Greek, Arabic, Hebrew and most other alphabetic scripts, across a maximum of two lines. CJK languages are far tighter: Simplified Chinese, Traditional Chinese and Korean cap at 16 full-width characters per line, and Japanese at 13. A full-width character takes up roughly two Latin character widths on screen.
Japanese mixes kanji and kana with no spaces between words, and a single kanji can stand for a whole word. Each full-width character therefore carries much more information and takes longer to read than a Latin letter, so Netflix sets a low 4 CPS reading speed and a 13-character horizontal line cap to keep subtitles legible.
Romance and Germanic languages typically expand: Spanish ≈ +22%, French and German ≈ +20%, Italian and Dutch ≈ +18%. Slavic languages and Arabic run +15% to +25%. CJK languages shrink sharply in character count — Japanese ≈ −55%, Chinese ≈ −60%, Korean ≈ −45% — because each character packs more meaning. These are median, directional figures; real expansion varies by sentence.
No. The Netflix Timed Text Style Guides are the most widely cited public spec, but the underlying reading-speed and line-length principles are industry standard. Most streaming platforms and broadcasters use similar caps — roughly 15–20 CPS and 37–42 characters per line for Latin scripts, with tighter limits for CJK. Use the Netflix figures as a safe default unless a platform specifies its own.
The subtitle file stores characters in logical order regardless of direction; the player handles the visual layout. Right-to-left languages — Arabic, Hebrew and Persian — render from the right edge and mirror brackets and punctuation on screen. The file itself stays plain UTF-8 text, so saving it as UTF-8 is what keeps every glyph and accent intact.
Translate only the text and never the timing, then re-break lines that grew too long for the new language. SubLingo parses the file into timed cues and rewrites only the text inside each cue, so every start and end time stays frame-accurate while you adjust wording — you can shorten an expanded German or Spanish line without shifting a single timecode.
SubLingo translates SRT, VTT and ASS files into 100+ languages with AI and never touches the timecodes, so the result stays in sync while you re-break any line that grew too long.