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
- 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.
- 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.
- 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.