Founder's Blog

Engineering notes, product updates and governance thinking — written by the founder.

How large should CJK body text be, and how many characters fit on a line

Forty Chinese characters per line and eighty Latin characters per line cost the reader the same effort — these numbers come from a published standard, not from taste.

Forty Chinese characters on a line and eighty Latin characters on a line cost the reader the same effort.

How many characters actually fit on a line

WCAG 1.4.8 gives two numbers: no more than 80 characters per line for Latin script, and no more than 40 for Chinese, Japanese and Korean.

The factor of two is not because Chinese is harder to read. It is because a line of 40 Han characters carries roughly the information of a line of 80 Latin letters.

Past that, the eye starts landing on the wrong line when it jumps from the end of one line back to the beginning of the next.

CJK body text has to be larger than Latin

The industry convention for Latin body text is 16–17px. For Chinese and Japanese, start at 18px.

The reason is in the glyphs. Han characters are square and dense with strokes; at the same nominal size they are less legible than Latin letters.

What this site uses now: 18px for Chinese, 17px for English. The two are calculated separately and do not share a value.

Line height 1.7–1.8

The range is similar for both scripts, for different reasons.

Latin has ascenders and descenders — the parts of b, p and g that reach above and below — and they create natural visual separation between lines. Han characters have none. Every character fills its box, so the text depends far more on leading to keep one line off the next.

  • Below 1.6: lines stick together and the eye skips.
  • Above 1.9: lines break apart and one paragraph reads as several.
  • 1.75 is a stable value for long-form Chinese.

Line-breaking rules

Chinese typesetting has one hard rule: punctuation may not begin a line.

A full stop, a comma or a closing quote falling to the start of the next line is an obvious error, and a Chinese reader spots it immediately.

In a browser that is one line of CSS:

line-break: strict;

Latin typesetting has no equivalent problem, which is exactly why it gets missed on multilingual sites.

Why this post exists

Because these numbers are not matters of taste. They are published and checkable.

This blog previously ran 17px body text, 44 characters per line, and a 740px column — all three outside the recommended range. The basis for those values was that they looked about right.

Looking about right and having checked the standard are two different things.