Common Typography Mistakes
Recognize and fix the most frequent typography errors — from weak hierarchy and font overload to contrast failures and poor pairing.
Typography mistakes rarely announce themselves. A page can feel "off" without any single element looking wrong. This chapter catalogs the most common errors designers and developers make, with before-and-after comparisons so you can diagnose problems quickly and apply proven fixes.
Poor Hierarchy
The most widespread typography mistake is flat hierarchy — when headings, body text, and labels differ too little in size, weight, or spacing. Users cannot scan the page; everything competes for attention.
Symptoms: Headings only 2–4px larger than body. Multiple elements styled identically. No visual path from title to subtitle to content.
Product Launch — 20px, regular weight
We are excited to announce our new feature that helps teams collaborate faster. — 16px, regular weight
Key Benefits — 18px, regular weight
Real-time sync, smart notifications, and seamless integrations. — 16px, regular weight
Product Launch — 36px, semibold, tight tracking
We are excited to announce our new feature that helps teams collaborate faster. — 18px, regular, muted color
Key Benefits — 14px, medium, uppercase, wide tracking
Real-time sync, smart notifications, and seamless integrations. — 16px, regular, generous line height
Fix: Create at least three distinct levels with size jumps of 1.5× or more between heading tiers. Pair size changes with weight and color shifts. A page title at 2–2.5× body size with semibold weight immediately separates from 16px body text.
Too Many Fonts
Using three, four, or five typefaces in a single project destroys cohesion. Each additional face adds cognitive load and increases page weight.
Common pattern: A display serif for headings, a sans for body, a second sans for UI, a script for accents, and a mono for code — five families where two would suffice.
Heading: Playfair Display Subheading: Montserrat Body: Open Sans Buttons: Poppins Code: Fira Code
Five typefaces create five competing personalities on one page.
Headings + body: Inter (regular and semibold) Code: Geist Mono
Two families. Hierarchy through size, weight, and spacing — not typeface switching.
Fix: Limit yourself to one sans-serif for UI and body, optionally one serif or display for marketing headings, and one monospace for code. That is three maximum. Most products need only one sans and one mono.
Bad Spacing and Rhythm
Typography is not just font choice — it is the space around and between text. Common spacing errors include:
- Line height too tight for body text (below 1.4)
- No margin between paragraphs
- Inconsistent spacing between sections
- Headings glued to the paragraph below with no top margin
Line height: 1.2 on 16px body text. Paragraphs separated by only 4px. H2 followed immediately by body copy with no top margin. The result feels dense and exhausting to read.
Line height: 1.6 on 16px body. Paragraph spacing: 1em between blocks. H2 with 2em top margin, 0.5em bottom margin. Vertical rhythm creates breathing room and scan points.
Fix: Use unitless line heights between 1.5 and 1.65 for body text. Apply the spacing scale from your design system — if your base unit is 4px, paragraph gaps should be 16px (4 units), section gaps 32–48px (8–12 units).
Insufficient Contrast
Low-contrast text is an accessibility failure and a readability problem. Gray body text on slightly-less-gray backgrounds, thin weights at small sizes, and colored text without contrast checking are daily offenders.
Body text: #999 on #fff background (2.8:1 ratio — fails WCAG AA)
Secondary labels: #bbb on #f5f5f5 (1.6:1 ratio — nearly invisible)
Body text: #374151 on #fff (9.8:1 ratio — passes AAA)
Secondary labels: #6b7280 on #fff (4.6:1 ratio — passes AA for normal text)
Fix: Aim for 4.5:1 minimum contrast ratio for normal text (WCAG AA). For text below 18px regular or 14px bold, this is non-negotiable. Use a contrast checker during design, not after launch.
Line Length (Measure) Problems
Lines that are too long or too short disrupt reading rhythm. Desktop layouts stretched to full viewport width produce 120+ character lines. Mobile layouts with insufficient padding create cramped 30-character lines.
Full-width paragraph on a 1440px monitor: ~130 characters per line. The eye loses its place returning from the end of one line to the start of the next. Reading speed drops significantly.
Content constrained to 65ch (~680px): ~65 characters per line. Comfortable saccades. The eye tracks naturally from line to line without getting lost.
Fix: Constrain reading content to 45–75 characters per line (roughly 35–65rem at 16px). Use max-width: 65ch on article containers. Full-width layouts are fine for dashboards and data tables — but not for prose.
Uppercase Overuse
Uppercase text demands more letter spacing and reduces word-shape recognition, slowing reading speed by up to 10%. Yet it appears everywhere: navigation, buttons, labels, headings, and entire paragraphs.
NAVIGATION: HOME · ABOUT · SERVICES · CONTACT
SECTION HEADING: OUR APPROACH TO DESIGN
BODY: WE BELIEVE IN CREATING PRODUCTS THAT USERS LOVE.
Shouting at the reader from every element.
Navigation: Home · About · Services · Contact (sentence case)
Section label: OUR APPROACH (11px, uppercase, wide tracking — one label element)
Heading: Our approach to design (title case, 28px, semibold)
Body: We believe in creating products that users love. (sentence case, 16px)
Fix: Reserve uppercase for small labels (11–12px) with increased letter spacing (0.05–0.1em). Never set body paragraphs or headings above 14px in all caps. Navigation and buttons should use sentence case or title case.
Bad Font Pairing
Pairing typefaces that clash — similar but not identical, wildly different x-heights, or competing personalities — creates visual tension without purpose.
Heading: Comic Sans — playful, informal Body: Times New Roman — traditional, editorial
The personalities fight each other. Neither feels intentional.
Heading: Instrument Serif — elegant display Body: Inter — neutral, high x-height
Contrast in style (serif vs sans) with harmony in proportions and weight range.
Fix: Pair typefaces that differ in classification (serif + sans, sans + mono) but share similar x-height, weight range, and tone. Test the pair at actual sizes — a pairing that works at 48px heading / 16px body may fail at 24px / 14px.
Additional Quick Fixes
Beyond the major categories above, watch for these recurring issues:
| Mistake | Fix |
| --- | --- |
| Centered body text | Left-align paragraphs longer than three lines |
| Orphaned headings | Keep at least two lines of body with a heading |
| Widows and orphans | Adjust line breaks or container width |
| Inconsistent alignment | Pick left or center per section, not both |
| Underlined non-links | Reserve underlines for interactive text |
| Justified text on web | Use left-aligned; browser justification creates rivers |
| Ignoring font loading | Use font-display: swap and size fallbacks to prevent layout shift |
Building a Review Habit
Typography quality comes from review, not inspiration. Before shipping any page:
- Squint test — can you distinguish hierarchy levels?
- Font audit — count distinct typefaces (target: 1–2)
- Contrast check — every text color against its background
- Measure check — character count per line on desktop and mobile
- Spacing audit — consistent vertical rhythm between all text blocks
- Uppercase scan — is every caps instance intentional?
Typography mistakes are forgiving — they rarely crash your app. But they silently erode trust, readability, and brand perception with every page view. Catch them early, fix them systematically, and your work will feel professional without trying.