Sizing & measure

Why 66 characters per line and 1.5 line height feel right

Legibility is whether you can tell an l from a 1. Readability is whether you can read sustained paragraphs without effort. Body size, line length, and line height form a triangle. Get one wrong and the paragraph feels effortful.

Body size: the anchor

Set body size first. Derive heading sizes upward and caption sizes downward.

The right number depends on x-height. Verdana has a tall x-height. Garamond a short one. Both at 16px and Verdana looks two sizes bigger.

If 19px looks alive but 18px feels thin and 20px feels heavy, use 19px. The scale is a starting point. The eye is the editor.

Common body-size mistakes

Line length: the measure

Target: 66 characters, with 45–75 the workable range. Below 45, the eye snaps back before settling. Above 75, the eye loses the next line.

For fluid sizing, clamp() scales between breakpoints without jumps:

Common line-length mistakes

Line height: the vertical space

For body copy, 1.45–1.5. Tall x-height faces need more. Small-x-height faces can run tighter. For large display type, drop to 1.0–1.2.

Always unitless

Use line-height: 1.5, not line-height: 24px or line-height: 150%. Unitless values inherit as a multiplier. Fixed values inherit as computed pixels, breaking when children have different font sizes:

The three decisions together

Changing one usually requires adjusting the others:

No formula replaces reading the result. Set the three values, read a real paragraph, adjust.