The ideal line length for readable body text is 50–75 characters per line (CPL), with 66 CPL widely accepted as the optimal target. This range reduces eye strain, improves comprehension, and keeps readers engaged across devices. Lines that are too long cause tracking fatigue; lines that are too short break reading rhythm and force excessive eye movement.
Whether you’re setting typography for a marketing site, a documentation portal, or a complex enterprise dashboard, line length is one of the highest-impact readability decisions you’ll make. This guide covers the research, the CSS implementation, the accessibility requirements, and how to test line length in real prototypes.
- The research: Why 50–75 CPL works, with evidence from typography studies and eye-tracking data.
- CSS implementation: Production-ready code using
chunits,clamp(), container queries, and responsive breakpoints. - Accessibility: WCAG 2.2 guidelines, dyslexia-friendly typography, and screen reader compatibility.
- Testing: How to measure and validate line length using UXPin prototypes with real production components.
The Right Line Length & Line Height in Typography
Core Principles of Ideal Line Length
Typography research and eye-tracking studies consistently reach the same conclusion: line length directly affects how comfortably people read and how much they retain.
The 50–75 Character Rule
The 50–75 character rule is the cornerstone of readable text design. Within this range, 66 characters per line is the most frequently cited optimal target — a recommendation that traces back to Robert Bringhurst’s classic guideline of 45 to 75 characters for single-column pages.
Reader experience level shifts the ideal slightly:
- Novice readers: 34–60 CPL (ideal: ~45)
- Experienced readers: 45–80 CPL (ideal: ~60–66)
Character count includes all visible characters — letters, spaces, and punctuation.
How Line Length Affects Reading and Eye Movement
Line length directly impacts saccadic eye movements — the rapid jumps the eye makes while scanning text. Research by Dyson & Haselgrove found that a medium line length of ~55 CPL supports effective reading at both normal and fast speeds.
- Shorter lines (30–50 CPL) favour accuracy and careful reading — ideal for technical documentation and form labels.
- Medium lines (50–75 CPL) balance speed and comprehension — optimal for body text.
- Overly long lines (80+ CPL) cause readers to lose their place when returning to the next line, significantly reducing comprehension.
For context, adults reading English silently average 238 words per minute for non-fiction and 260 for fiction. Poorly chosen line lengths slow these rates and increase cognitive effort, directly affecting user engagement metrics like time on page and bounce rate.
Adjusting Line Length for Different Fonts and Languages
- Font size: Start with a comfortable body size (16–20px for web), then set line length relative to it. Larger type tolerates slightly longer lines.
- Typeface design: Condensed typefaces (e.g., Inter, Roboto Condensed) fit more characters per line; wider typefaces (e.g., Georgia, Merriweather) need fewer.
- Line height: Increase vertical spacing as lines get longer. A 150% line-height ratio (1.5) is a reliable starting point for body text.
- Language: English has shorter average word lengths than German, Finnish, or Hungarian. Languages with longer words may need wider measures or smaller font sizes to stay within optimal CPL.
How to Set Ideal Line Length With CSS
The ch Unit and Responsive Typography
CSS provides precise control over line length. The ch unit — representing the width of the “0” character in the current font — is purpose-built for character-based max-widths. Combined with clamp() and media queries, you can build fluid, readable typography that adapts gracefully across screen sizes.
/* Constrain body text to ~66 characters per line */
.content {
max-width: 66ch;
margin-inline: auto;
}
/* Fluid font sizing with clamp() */
body {
font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem);
line-height: 1.5;
}
Always use relative units like rem or em rather than fixed px values, and test text scaling at 200% zoom to meet WCAG 1.4.4 (Resize Text) requirements.
Container Queries for Component-Level Line Length
In 2026, container queries let you control line length at the component level rather than relying solely on viewport-based media queries. This is especially valuable in design systems where the same text component may appear in sidebars, modals, and full-width content areas:
.text-container {
container-type: inline-size;
}
@container (min-width: 600px) {
.text-container p {
max-width: 70ch;
}
}
@container (max-width: 400px) {
.text-container p {
max-width: 40ch;
}
}
Line Length Guidelines by Device
| Device | Optimal Line Length | Min Font Size | Line Height |
|---|---|---|---|
| Desktop | 45–75 characters | 16px | 1.3–1.45 |
| Tablet | 40–65 characters | 15px | 1.35–1.5 |
| Mobile | 30–50 characters | 14–15px | 1.3–1.5 |
As a general rule: longer lines benefit from increased vertical spacing, while shorter lines can use tighter line-height values.
Validating Line Length With UXPin
Prototyping tools let you validate typography across breakpoints before committing to development. With UXPin Merge, you can test line length using your team’s actual coded components — so the typography you evaluate in design is identical to what ships in production. There’s no gap between the prototype and the deployed UI.
Forge, UXPin’s AI design assistant, can also generate typography-focused layouts from a text prompt — using real components from your design system. This lets you rapidly test different content containers and line-length configurations without manually building each layout variant.
Accessibility and WCAG Compliance for Line Length
WCAG 2.2 Guidelines for Line Length
The Web Content Accessibility Guidelines (WCAG) Success Criterion 1.4.8 recommends:
- Non-CJK languages: Maximum 80 characters per line
- CJK scripts (Chinese, Japanese, Korean): Maximum 40 characters per line
Use CSS with font-relative units to enforce these limits. Setting max-width: 70ch or approximately 34em keeps text well within the recommended range for most Latin-script languages.
Designing Line Length for Dyslexic Readers
The British Dyslexia Association recommends 60–70 CPL for optimal readability. Additional best practices for dyslexia-friendly typography:
- Use sans-serif fonts (e.g., Arial, Verdana, Open Sans, Atkinson Hyperlegible) at 12–14pt
- Increase letter spacing to approximately 35% of average letter width
- Set line spacing to at least 150% (1.5)
- Left-align text; avoid full justification, which creates uneven word spacing
- Avoid pure white backgrounds — a soft cream or off-white reduces visual stress
Line Length and Screen Reader Compatibility
Use semantic HTML (<p>, <article>, <section>) to maintain logical reading order. Avoid fixed-height containers that clip content. Use relative units for column widths and font sizes, and test with screen readers (VoiceOver, NVDA, JAWS) to ensure line breaks and container boundaries don’t disrupt reading flow.
Testing and Measuring Line Length
Tools for Measuring Character Count
Browser developer tools let you inspect element widths, and tools like Polypane offer direct character-count inspection. A quick visual rule of thumb: two to three complete lowercase alphabets (52–78 characters) should fit on a single line of body text at your chosen font size.
User Testing for Readability
Combine observation with comprehension assessments to evaluate readability. Cloze tests (fill-in-the-blank exercises where every fifth or seventh word is removed) are an effective way to pinpoint where line-length adjustments improve retention. Track reading speed and accuracy across different line-length configurations.
Cross-Browser and Cross-Device Testing
Test on real smartphones, tablets, and desktops in both portrait and landscape orientations. Validate across Chrome, Firefox, Safari, and Edge. UXPin’s prototyping environment lets you test line lengths early by creating interactive prototypes that simulate different screen sizes — with real production components, so what you test is what ships.
Key Best Practices for Line Length Optimisation
- Default to 50–75 CPL. Use
max-width: 66chas your starting point for body text containers. - Scale line height with line length. 150% of font size (1.5) is a reliable baseline. For lines over 75 CPL, increase to 1.6–1.7.
- Use fluid typography.
clamp()provides smooth font-size scaling without abrupt breakpoint jumps. - Leverage container queries. Control line length at the component level for genuinely portable text components.
- Test with real content, not lorem ipsum. Real text reveals rhythm, hyphenation, and line-break issues that placeholder text hides.
- Prototype early. Use UXPin Merge to test typography with production components at every breakpoint.
- Adapt for language and audience. German and Finnish text needs wider measures; technical documentation may benefit from narrower columns.
- Offer user customisation where feasible — font size, line spacing, and background colour toggles improve readability for diverse audiences.
Frequently Asked Questions
What is the ideal number of characters per line for readability?
The ideal range is 50–75 characters per line, with 66 characters being the most widely cited sweet spot. This recommendation is grounded in typography research by Robert Bringhurst and supported by eye-tracking studies. Novice readers do best at around 45 CPL, while experienced readers can comfortably handle up to 80 CPL.
Does line length affect SEO or user engagement?
Indirectly but meaningfully, yes. Poor readability increases bounce rates, reduces time on page, and lowers content engagement — all signals that search engines factor into rankings. Content that’s comfortable to read keeps users on the page longer and encourages deeper engagement.
How do I set line length in CSS?
Use the ch unit with max-width. For example: max-width: 66ch; constrains a text container to approximately 66 characters per line. Combine with clamp() for fluid font sizing across screen sizes. In 2026, container queries let you fine-tune line length based on the parent container rather than the viewport.
What line length does WCAG recommend?
WCAG Success Criterion 1.4.8 recommends a maximum of 80 characters per line for non-CJK (Chinese, Japanese, Korean) languages and 40 characters per line for CJK text.
What is the best line length for mobile screens?
Aim for 30–50 characters per line on mobile devices in portrait orientation. Use a minimum font size of 14–15px and a line-height of at least 1.3. Test on real devices — emulators don’t fully replicate the reading experience of a phone held at arm’s length.
How does line length interact with line height?
Longer lines need more vertical spacing to help the eye track back to the start of the next line. A line-height of 1.5 (150%) is a solid starting point for body text. For very long lines (75+ CPL), increase to 1.6 or 1.7. For shorter lines (under 40 CPL), 1.3–1.4 is often sufficient.