Fonts carry half the mood of a layout. And usually it isn't that a font is "ugly" — it's that there are too many and they fight: two loud display fonts argue, the caption is set in a decorative script and won't read. Font pairing isn't about luck — it's a simple formula. Let's start with the clearest part — toggle "fight / get along":
The text is the same — only the fonts change. On the left three scripts fight for attention and the body won't read; on the right a hard headline, a handwritten accent, and a quiet body live in peace.
This is the third post in a series on making layouts prettier (the first two: order and contrast + repetition; there's a separate series for color).
The formula: 3–4 roles, 3 families max
Like with color, the secret isn't grabbing more favorite fonts — it's giving each one a role. There are three or four:
HEADLINE — sets the mood
Big, characterful, readable from across the room. A bold grotesque (Anton, Bebas Neue), a bold display serif (Abril Fatface), or a marker (Permanent Marker). Rule: one per layout, 1–3 words.
ACCENT — the spark
Highlights a key word, a date, an emotion. It should contrast the headline in shape: hard headline → handwritten accent, and vice versa. Calligraphy (Dancing Script, Great Vibes), handwriting (Caveat), retro script (Lobster, Pacifico). Sparingly — 1–3 words.
BODY — what people actually read
Dates, descriptions, captions. Neutral, legible: a clean sans (Nunito, Poppins, Quicksand) or a mono (Cutive Mono) for a journaling feel. The body is always the boring one — legibility beats character.
STAMP (optional) — a detail
A faux stamp, a tag, a checklist: a monospace (Cutive Mono, Space Mono) or a printed handwriting (Patrick Hand).
The main rule: contrast, not "almost the same"
Same as the contrast post: fonts should differ clearly. Two similar sans-serifs or two scripts side by side aren't a pair — they're mud: the eye sees "something's off" but can't tell what matters.
- Hard + soft. A clean grotesque headline gets along with a handwritten accent. Two handwritten fonts together fight.
- One font, one role. Don't set a caption in your headline font. Each font has its own job.
- Keep the body legible. Don't set a paragraph in a script and don't center long text; give the body a comfortable line-height.
Ready-made pairings you can steal
Don't build from scratch — grab a proven pairing and adjust. Four by mood:
Golden rules
- Three families max per layout — more is visual noise.
- Contrast is a must — hard + soft, big + small, upright + handwritten.
- One font = one role — don't use the headline font for captions.
- The body is always the boring one — legibility over character.
FAQ
How many fonts can I use on a page?
Three families max. Two is usually enough: a characterful headline and a clean sans for the body. A script accent is the optional third.
Which fonts go well together?
Ones that contrast in shape: a hard grotesque with a handwritten script, a display serif with a clean sans. Similar fonts (two sans, two scripts) usually fight — pick ones with different character.
What font should I use for captions and dates?
The most boring and legible one: a clean sans (Nunito, Poppins) or a monospace (Cutive Mono) for a "stamp" look. Legibility at small sizes is what matters.