Reference · 30 languages

Subtitle limits by language: CPS, line length & script

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

LanguageScriptDirectionMax CPSChars / lineLength vs English
EnglishLatinLeft-to-right2042baseline
SpanishLatinLeft-to-right1742≈ +22%
PortugueseLatinLeft-to-right1742≈ +20%
FrenchLatinLeft-to-right1742≈ +20%
GermanLatinLeft-to-right1742≈ +20%
ItalianLatinLeft-to-right1742≈ +18%
JapaneseJapaneseLeft-to-right413 *≈ −55%
KoreanHangulLeft-to-right1216 *≈ −45%
Chinese (Simplified)HanLeft-to-right916 *≈ −60%
Chinese (Traditional)HanLeft-to-right916 *≈ −58%
ArabicArabicRight-to-left1742≈ +25%
HindiDevanagariLeft-to-right1742≈ +15%
RussianCyrillicLeft-to-right1742≈ +15%
VietnameseLatinLeft-to-right1742≈ +12%
IndonesianLatinLeft-to-right1742≈ +15%
ThaiThaiLeft-to-right1742≈ −5%
TurkishLatinLeft-to-right1742≈ +10%
DutchLatinLeft-to-right1742≈ +18%
PolishLatinLeft-to-right1742≈ +18%
SwedishLatinLeft-to-right1742≈ +6%
GreekGreekLeft-to-right1742≈ +12%
CzechLatinLeft-to-right1742≈ +12%
RomanianLatinLeft-to-right1742≈ +18%
HungarianLatinLeft-to-right1742≈ +18%
HebrewHebrewRight-to-left1742≈ −5%
PersianArabicRight-to-left1742≈ +20%
UkrainianCyrillicLeft-to-right1742≈ +15%
TamilTamilLeft-to-right1742≈ +15%
FilipinoLatinLeft-to-right1742≈ +20%
MalayLatinLeft-to-right1742≈ +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.

How to read the limits

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.

Why CJK languages are so much tighter

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.

Plan for text expansion

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.

Subtitle limit questions

What is the maximum subtitle reading speed (CPS)?+

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.

How many characters fit on one subtitle line?+

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.

Why is the Japanese subtitle limit so low (4 CPS, 13 characters)?+

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.

How much longer do subtitles get when translating from English?+

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.

Do these limits only apply to Netflix?+

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.

Does text direction change how subtitles are stored?+

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.

How do I keep a translation within these limits?+

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.

Translate subtitles within these limits

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.

Related guides