What Makes Text Feel "Right" to Read?
Ever opened a webpage and felt immediately comfortable reading the content--or conversely, found yourself squinting or losing your place? The difference often comes down to understanding a simple but powerful concept: the equilateral triangle of typography.
This framework, developed by typographer Matej Latin, shows how three critical elements--font size, line height, and line width--must work together in harmony to create text that invites readers in rather than pushing them away. When these three elements are balanced, something magical happens: the typography becomes invisible, and only the message remains.
In this guide, we'll break down each side of the triangle, explore the optimal values for web typography, and give you practical CSS techniques you can apply immediately to your web development projects.
Understanding the Equilateral Triangle Concept
The Three Sides Explained
An equilateral triangle is special because all three sides are equal, and all internal angles measure exactly 60°. This perfect symmetry makes it an ideal metaphor for typography, where three elements must be in balance for optimal readability.
Font Size (Left Side) -- The foundation of your typography. Typically 16px for body text, with variations for headings and functional text.
Line Height (Right Side) -- The vertical spacing between lines of text. Must be proportional to font size to create comfortable reading.
Line Width (Bottom Side) -- The horizontal length of each line, measured in characters per line (CPL). The optimal range is 60-80 characters.
Why Balance Matters
Legendary Swiss typographer Josef Müller-Brockmann understood this principle well:
"The reader should be able to read the message of a text easily and comfortably. This depends to a not inconsiderable extent on the size of the type, the length of the lines and the leading."
When any one of these elements is out of balance, the entire reading experience suffers. Text that is too dense feels claustrophobic. Text that is too loose feels disconnected. But when all three work together? The result is what typographers call even typographic color--that elusive quality where text feels inviting and effortless to read.
The equilateral triangle represents the perfect balance between font size, line height, and line width.
Font Size
Your typography foundation, typically starting at 16px for body text
Line Height
Vertical spacing that creates breathing room between lines
Line Width
Character count per line, with 60-80 being the sweet spot
Font Size: The Foundation
Starting Point Matters
Font size is where your typography journey begins. For body text on the web, 16 pixels (1rem) has become the standard baseline--and there's good reason for this. It's large enough to be readable on most displays, works well with touch devices, and provides a comfortable foundation for scaling up to headings and down to smaller functional text.
However, the "right" font size depends heavily on your typeface choice. Some fonts are naturally larger and more open, while others are smaller and more compact. A 16px font might feel airy with one typeface and cramped with another.
How Font Size Affects the Triangle
Your font size choice cascades through all other decisions:
- Larger fonts require proportionally more line height to prevent lines from feeling cramped
- Larger fonts need shorter line widths to keep readers from losing their place
- Smaller fonts can get away with less line height but may need similar line widths
This is why choosing your typeface and base font size should always be your first step before worrying about spacing and width.
Line Width: Finding the Sweet Spot
The 60-80 Character Rule
Decades of typographic research converge on a simple truth: the ideal line contains 60-80 characters, including spaces. This range has been validated by Baymard Institute's usability research and is consistently recommended by typography experts worldwide.
Lines that are too short force your eyes to jump back to the start of the next line too frequently, disrupting reading rhythm and creating a choppy experience. Lines that are too long make it difficult to find the start of the next line after completing one--your eyes have to travel further, increasing the chance of losing your place.
Implementing Optimal Line Width
Modern CSS gives us elegant ways to control line width:
/* Using ch units for character-based width */
article p {
max-width: 65ch;
}
/* Using rem units (approximately 2 characters per rem) */
article p {
max-width: 32rem;
}
The ch unit is particularly useful because it's based on the width of the "0" character in your current font. This means your max-width automatically adapts to whatever typeface you're using. For more on writing clean, maintainable CSS, explore our comprehensive guide.
Text that breaks too frequently creates a choppy reading rhythm. Your eye has to work harder tracking from line to line, and the page feels fragmented. Use this for captions, sidebars, or mobile text--not main content.
Line Height: The Critical Adjuster
The Golden Ratio
For body text at comfortable line widths, a line height of 1.5 to 1.6 times the font size creates optimal readability. Pimp My Type's guidelines confirm this ratio provides enough space between lines for the eye to easily track from end to beginning, without so much space that lines feel disconnected.
The browser default of approximately 1.2 is far too tight for comfortable extended reading. It creates what feels like a solid block of text, with lines pressing against each other like passengers on a crowded train.
The Connection Between Line Height and Line Width
Here's a crucial insight that many designers miss: line height and line width are interdependent.
- Longer lines need MORE line height -- Readers need help tracking from the end of a long line to the start of the next
- Shorter lines need LESS line height -- The shorter journey means less chance of losing your place
Practical Guidelines
| Line Width | Recommended Line Height |
|---|---|
| 70-80 characters | 1.6 or higher |
| 60-70 characters | 1.5-1.6 |
| 50-60 characters | 1.4-1.5 |
Line Height for Headings
Larger text needs proportionally less line height because there's simply less text per line. Headings typically work well with line heights between 1.1 and 1.2, keeping them compact and visually distinct from body text.
The Triangle in Action: Visual Examples
Three States of Typography
Too Dense (line-height: 1.2)
This is the browser default, and it's the enemy of readability. Lines are so close together that your eyes struggle to find the start of the next line. The text feels heavy and oppressive--like being trapped in a tiny room with no space to breathe.
Too Loose (line-height: 2.0+)
On the other end of the spectrum, excessive spacing makes text feel disconnected. Each line floats alone, unrelated to the one above or below. Reading becomes fragmented, like following a conversation with constant interruptions.
Just Right (line-height: 1.5-1.6 at 65ch)
This is typographic harmony. The lines flow naturally into each other, creating a comfortable reading rhythm. Your eyes glide across the page, and the content becomes the star--not the typography.
Putting It All Together: CSS Examples
Complete Article Typography
/* Base styles for article content */
article {
font-size: 1rem; /* 16px base */
line-height: 1.6; /* Golden ratio for readability */
max-width: 65ch; /* Optimal character count */
}
/* Heading hierarchy with adjusted line heights */
article h1 {
font-size: 2.5rem;
line-height: 1.2; /* Compact for large text */
margin-bottom: 1rem;
}
article h2 {
font-size: 1.75rem;
line-height: 1.3;
margin-top: 2rem;
margin-bottom: 0.75rem;
}
article h3 {
font-size: 1.25rem;
line-height: 1.4;
margin-top: 1.5rem;
margin-bottom: 0.5rem;
}
Responsive Typography
Mobile screens change the triangle's shape:
/* Desktop */
article p {
font-size: 1rem;
line-height: 1.6;
max-width: 65ch;
}
/* Mobile - narrower columns need less line height */
@media (max-width: 768px) {
article p {
line-height: 1.5; /* Slightly tighter on mobile */
max-width: 100%; /* Natural width on small screens */
}
}
Understanding how these CSS properties work together is essential for building optimized, performant websites. Proper typography contributes to faster page parsing, better user engagement, and improved SEO performance.
Common Typography Mistakes to Avoid
Tools and Resources for Further Learning
Interactive Learning
- Better Web Type Triangle Game -- An excellent interactive tool that gamifies learning the triangle concept. Adjust values and see immediate visual feedback on your score.
Design and Reference Tools
- Type Scale -- Generate harmonious font size scales based on a ratio
- Fluid Typography Calculator -- Calculate responsive typography values across breakpoints
Further Reading
- CSS-Tricks Typography Guides -- Comprehensive CSS resources
- MDN Web Docs -- Official documentation for CSS text properties
Building Your Typography System
The equilateral triangle of a perfect paragraph isn't just theory--it's a practical framework for making better typography decisions every day. Here's how to apply it systematically:
Your Action Plan
- Choose your typeface first -- Different fonts need different settings
- Set your base font size -- Start with 16px for body text
- Determine your target line width -- Aim for 60-80 characters
- Calculate your line height -- Apply 1.5-1.6 for body text
- Create a modular scale -- Use consistent ratios for heading hierarchy
Trust Your Eyes
Numbers and guidelines are helpful starting points, but typography is ultimately a visual discipline. If your text doesn't feel right, adjust the triangle until it does. The goal is always that moment when the typography disappears and only the message remains.
Ready to apply these principles to your website? Our team specializes in crafting typography systems that enhance readability and user experience across all devices. From responsive layouts to custom web development services, we help brands create digital experiences that connect with their audience. Well-designed typography also improves your site's search engine performance by keeping visitors engaged with your content longer.