Typography Principles The Complete 2026 Guide

Master typography fundamentals: type anatomy, font pairing, hierarchy, and readability. Build designs that are beautiful AND readable.

TL;DR

  • Font categories: 5 main types and when to use each
  • Hierarchy: Create clear visual levels with size and weight
  • Pairing: 5 proven font combinations that work
  • Readability: Line length, height, and contrast rules
Nikki Kipple
By The Crit
Updated Feb 202612 min read
Typography Principles Guide - font examples and hierarchy

Why Typography Matters

Typography is 95% of web design. That's not hyperbole — most of what users see and interact with is text. Yet many designers treat typography as an afterthought, picking fonts based on "what looks cool" rather than understanding why certain choices work.

Good typography is invisible — it lets users focus on content without distraction. Bad typography is painfully visible: hard to read, confusing hierarchy, clashing fonts that fight for attention.

What You'll Learn

  • The 5 font categories and when to use each
  • How to create clear typographic hierarchy
  • 5 proven font pairings that work together
  • Readability rules for web and mobile

Type Anatomy

Understanding type anatomy helps you communicate with other designers and make informed font choices. Here are the essential terms:

Typography anatomy diagram showing baseline, x-height, cap height, ascender, descender, counter, and stem

Letterform Parts

  • Baseline: The invisible line letters sit on
  • X-height: Height of lowercase letters (like "x")
  • Cap height: Height of capital letters
  • Ascender: Parts that rise above x-height (b, d, h)
  • Descender: Parts that dip below baseline (g, p, y)

Spacing Terms

  • Kerning: Space between specific letter pairs
  • Tracking: Overall letter spacing across text
  • Leading: Space between lines (line-height)
  • Measure: Width of a text block (line length)

Pro Tip: When pairing fonts, match x-heights. Fonts with similar x-heights look harmonious together even if they're from different families.

Font Categories

Fonts fall into five main categories. Understanding these helps you choose the right font for your project's mood and purpose.

Font categories comparison: Serif, Sans-Serif, Monospace, Display, and Script

Serif

Fonts with small decorative strokes (serifs) at the ends of letters. Traditional, trustworthy, readable in print.

Examples:Times New Roman, Georgia, Garamond, Playfair Display
Mood:Classic, elegant, trustworthy, authoritative
Best for: Body text in print, editorial, luxury brands, traditional institutions

Sans-Serif

Fonts without serifs. Clean, modern, highly legible on screens.

Examples:Helvetica, Arial, Inter, Roboto, Open Sans
Mood:Modern, clean, minimal, approachable
Best for: UI text, web body copy, tech companies, modern brands

Monospace

Every character has the same width. Originally for typewriters and coding.

Examples:Courier, Monaco, Fira Code, JetBrains Mono
Mood:Technical, precise, retro, honest
Best for: Code, technical content, retro aesthetics, tabular data

Display/Decorative

Distinctive fonts designed for headlines and short text. High personality, low readability at small sizes.

Examples:Impact, Lobster, Bebas Neue, Abril Fatface
Mood:Bold, expressive, attention-grabbing
Best for: Headlines, logos, posters, hero sections

Script/Handwritten

Fonts that mimic handwriting or calligraphy. Personal and elegant but harder to read.

Examples:Pacifico, Dancing Script, Great Vibes, Caveat
Mood:Personal, elegant, creative, warm
Best for: Invitations, signatures, accent text, feminine brands

Typographic Hierarchy

Hierarchy tells users what to read first, second, and third. Without clear hierarchy, everything competes for attention and nothing wins.

Typography hierarchy example showing H1 title, H2 section header, H3 subheading, body text, and caption
1

H1 — Page Title

32-48pxBold (700)

One per page. Tells users and search engines what the page is about.

💡 Should be visible without scrolling on desktop.

2

H2 — Section Headers

24-32pxSemi-Bold (600)

Major sections of content. Scannable landmarks.

💡 Users scan H2s to decide if content is relevant.

3

H3 — Subsections

18-24pxMedium (500)

Break up longer sections. Group related content.

💡 Should be noticeably smaller than H2 but larger than body.

4

Body Text

16-18pxRegular (400)

Main content. Where users spend most reading time.

💡 16px minimum on web. 1.5-1.75 line height for readability.

5

Small/Caption

12-14pxRegular (400)

Secondary information, timestamps, labels, captions.

💡 Use sparingly. Too much small text = eye strain.

Font Pairing

The key to font pairing: contrast with harmony. Pair fonts that are different enough to create interest, but share enough DNA to feel cohesive.

Pairing Principles

  • Contrast: Pair serif with sans-serif, not two similar serifs
  • Match x-heights: Fonts look better together when lowercase letters align
  • Limit to 2-3: One for headings, one for body, maybe one for accents
  • Same designer: Fonts from the same foundry often pair well
Font pairing example: Playfair Display serif heading with Source Sans Pro body text

5 Proven Font Pairings

Playfair DisplaySerif
+
Source Sans ProSans-Serif

High contrast between decorative serif headlines and clean sans-serif body creates visual interest while maintaining readability.

Vibe: Editorial, sophisticated

MontserratSans-Serif
+
MerriweatherSerif

Geometric sans headlines with readable serif body text. Works for blogs, magazines, and content-heavy sites.

Vibe: Modern yet warm

RobotoSans-Serif
+
RobotoSans-Serif

Single font family with multiple weights. Consistent and efficient. Great for UI and apps.

Vibe: Clean, systematic

OswaldSans-Serif
+
Open SansSans-Serif

Condensed bold headlines grab attention while Open Sans provides excellent body text readability.

Vibe: Bold, contemporary

LoraSerif
+
LatoSans-Serif

Well-balanced contemporary serif paired with friendly sans-serif. Perfect for lifestyle and wellness brands.

Vibe: Elegant, balanced

Readability & Legibility

Legibility is whether letterforms are distinguishable. Readability is whether text blocks are comfortable to read. Both matter.

Line Length (Measure)

45-75 characters per line

Why: Too long and eyes lose their place. Too short disrupts reading rhythm.

Use max-width on text containers. For body text, aim for 65 characters.

Line Height (Leading)

1.4-1.6 for body text

Why: Tight leading makes lines blur together. Too loose breaks visual connection.

Start with 1.5 and adjust. Headlines can be tighter (1.1-1.3).

Letter Spacing (Tracking)

0 for body, +0.05em for caps

Why: Body text is designed to work at default. ALL CAPS benefits from more space.

Only adjust for headlines, buttons, or all-caps text.

Contrast

4.5:1 minimum (WCAG AA)

Why: Low contrast = unreadable for many users, especially in bright light.

Test with WebAIM contrast checker. Avoid gray text on white.

Font Size

16px minimum for body

Why: Smaller text causes eye strain on screens. Mobile users hold phones at arm's length.

When in doubt, go bigger. Nobody complains about readable text.

Type Scale Systems

A type scale creates consistent, harmonious sizing by using a mathematical ratio. Instead of random sizes, each level is proportionally related.

Minor Third (1.2)

Ratio: 1.2

12px14.4px17.3px20.7px24.9px29.9px

Best for: Compact UIs, mobile apps, limited space

Major Third (1.25)

Ratio: 1.25

12px15px18.75px23.4px29.3px36.6px

Best for: Balanced designs, most web projects

Perfect Fourth (1.333)

Ratio: 1.333

12px16px21.3px28.4px37.9px50.5px

Best for: Editorial, blogs, content-heavy sites

Golden Ratio (1.618)

Ratio: 1.618

12px19.4px31.4px50.8px82.2px133px

Best for: High contrast, dramatic headlines, posters

Tool: Use type-scale.com to generate custom scales and preview them in real-time.

Responsive Typography

Typography needs to adapt to different screen sizes. What works on desktop might be unreadable on mobile.

Key Principles

Fluid Typography

Use CSS clamp() to scale font sizes smoothly between breakpoints:font-size: clamp(1rem, 2vw + 0.5rem, 1.5rem)

Relative Units

Use rem or em instead of px. This respects user preferences and scales proportionally.

Mobile-First Line Length

On mobile, full-width text is usually fine. On desktop, constrain to 65-75 characters.

Test on Real Devices

Browser dev tools aren't perfect. Test on actual phones to catch readability issues.

Common Mistakes

Using too many fonts

Why it's a problem: Creates visual chaos and slows page load.

Fix: Stick to 2-3 fonts max: one for headings, one for body, maybe one for accents.

Poor contrast

Why it's a problem: Light gray text on white is unreadable for many users.

Fix: Test with WCAG contrast checker. Use 4.5:1 minimum for body text.

Inconsistent sizing

Why it's a problem: Random sizes make hierarchy unclear and feel unprofessional.

Fix: Use a type scale. Define sizes in your design system and stick to them.

Ignoring line length

Why it's a problem: Long lines make reading exhausting. Short lines feel choppy.

Fix: Aim for 45-75 characters per line. Use max-width on containers.

Tight line height on body text

Why it's a problem: Lines blur together, especially for dyslexic readers.

Fix: Use 1.5 or higher for body text. Headlines can be tighter.

All caps for long text

Why it's a problem: ALL CAPS IS HARDER TO READ because we lose word shapes.

Fix: Reserve caps for short labels, buttons, or stylistic headers only.

Typography Checklist

Use this checklist to audit your typography before shipping.

Foundation

Readability

Pairing

Responsive

💬 Common Questions

Everything You Need to Know

Quick answers to help you get started

💌 Stay Updated

Stay in the Loop Design Updates

Get practical design tips and new updates. No spam, unsubscribe anytime.

Related Resources