FreeToGenerate.com

100% free · no sign-up · everything in your browser

18 px
680 px

Anything from 45 to 75 characters is widely regarded as a satisfactory line length for a single-column page, and the figure most often quoted as ideal is 66. What almost nobody mentions is that the CSS everyone reaches for to hit that number does not hit it, because a ch is the width of a zero rather than the width of a letter.

Your measure

Characters per line
Against the 45–75 band
Average character
One ch
Characters per ch
For 66 characters, use
...or in pixels

The CSS ch unit is the width of the character “0”, and digits are wider than average lowercase letters. So max-width: 65ch does not give you 65 characters — it gives you 65 zeroes' worth of room, which real prose fills with considerably more.

The 45–75 band comes from Bringhurst's Elements of Typographic Style, stated as craft consensus rather than as a measurement. The experiments that exist disagree about reading speed and find almost no effect on comprehension, so treat this as a sensible default and not a rule.

FontCharacters per ch65ch gives
Georgia1.4192
Verdana1.2682
Arial1.2783
Times New Roman1.2682
Tahoma1.2481
Trebuchet MS1.1676
Courier New1.0065

Measured over 6.7 million characters of prose at 16px. Courier New is the control: in a monospaced face every glyph is one ch by definition, so its ratio must be exactly 1 — and it is.

Also available in: Español · Português · Français · العربية

Line length checker

Measures the characters per line your CSS actually produces, in the font you are actually using — and shows how far ch units miss.

What is a line length checker?

Line length — typographers call it the measure — is how many characters fit on one line of text. It is the number behind the advice to keep body copy between 45 and 75 characters, and it depends on three things at once: the container width, the font size, and the font itself.

This tool measures it rather than estimating it. Set a width, a size and a face, and it reports the characters per line your prose would actually get, using your browser's own text engine on your own text.

It also answers the question that sends most people looking: what width should I set? The results panel gives both the pixel width and the ch value that really produce 66 characters in the font you picked, which are not the numbers you would guess.

How to use the line length checker

  1. Paste a paragraph. Use your own prose rather than filler. Average character width varies between languages and between writers, and the whole measurement depends on it.
  2. Pick a font and a size. The seven faces offered are the ones already on almost every machine, so nothing has to be downloaded to measure them. The size matters less than you would think — it scales both sides of the ratio.
  3. Drag the container width. The preview redraws and the panel tells you where you land against the 45–75 band. If you want a target rather than a verdict, read the two rows near the bottom instead.

max-width: 65ch does not give you 65 characters

The standard advice for hitting a comfortable measure is to set max-width in ch units, on the reasoning that one ch is one character. It is not. The CSS specification defines the ch unit as the advance width of the character “0” in the element's font — a zero, specifically, not an average letter. And in every proportional face, digits are drawn wider than lowercase letters, because they have to line up in columns.

We measured how much wider, over 6.7 million characters of real prose from twelve public-domain books, at 16 pixels. In Georgia one ch is 9.82 pixels while the average character of prose is 6.96 — a ratio of 1.41. Arial comes out at 1.27, Verdana at 1.26, Times New Roman at 1.26, Tahoma at 1.24 and Trebuchet MS at 1.16.

Multiply those out and the advice collapses. A container set to max-width: 65ch holds about 92 characters in Georgia, 83 in Arial, 82 in Verdana and Times New Roman, and 76 in Trebuchet MS. Every single proportional face overshoots the 45–75 band it was chosen to hit, and the median across them is 82 characters for a nominal 65.

The check that makes those numbers trustworthy is the last row of the table. Courier New comes out at exactly 1.000, because in a monospaced face every glyph including the zero is the same width, so one ch has to be one character. If the measurement were wrong, that row would not land on 1.

Turned around, the useful direction: to get Bringhurst's 66 characters you want roughly 47ch in Georgia, 52ch in Arial, 53ch in Times New Roman and 57ch in Trebuchet MS. There is no single ch value that means 66 characters, which is exactly why this page measures instead of recommending one.

Honest limitations

The 45–75 band is not a scientific result and this page will not pretend otherwise. It comes from Robert Bringhurst's The Elements of Typographic Style, where it is offered as craft consensus for a single-column page, with 66 characters named as a satisfactory ideal. That is a good source for a design convention and not a measurement of anything.

The experimental literature is thinner and less tidy than the confidence of the advice suggests. Dyson and Haselgrove found in 2001 that 55 characters per line was read faster than either 25 or 100, with the best comprehension. Work from the Wichita State usability lab found close to the opposite on speed, with around 95 characters read fastest, and no reliable effect on comprehension or satisfaction at all. What survives across studies is that comprehension barely moves over a wide range and that readers tend to prefer lines shorter than the ones they read fastest. Take the band as a sensible default, not a law.

The measurement is an average, and averages hide things. A paragraph with long technical words has a wider average character than one of short ones, so the same container gives a different measure for different prose. That is a real effect rather than a flaw — it is why the tool asks for your text — but it means the number moves when you change the sample.

Only characters are counted, not words, and the browser breaks lines at spaces. A container that gives 66 characters on average will produce lines of perhaps 58 to 72 as words wrap, so treat the figure as the centre of a distribution rather than the width of every line.

The seven fonts in the comparison table are system faces measured from the actual font files. A webfont you load yourself will have its own ratio, which the tool measures correctly for the live figures at the top — the fixed table is a reference, not a claim about your stack. The engine carries 39 assertions, including that monospaced control and a negative half confirming a proportional face never comes out at 1.

Why is it free?

Measuring text is something your browser already does on every page it draws; this one just asks it for the number. Nothing is uploaded, there is no account, and there is nothing to watermark.

If you want the same measuring applied to a search result rather than a paragraph, the meta tag generator on this site does that, and has a related story about a rule everyone quotes in characters that browsers apply in pixels.