Typography & text
The 2-font limit
One typeface is almost always enough; weight and size carry the hierarchy. If you must pair, contrast a serif heading with a sans body — two sans faces differ too little to read as deliberate.
Manrope for headings + body
Arial headings + Verdana body
How to apply it
- 1
Default to one typeface for everything, like Inter, across headings and body.
- 2
If pairing, use exactly one serif for headings and one sans for body.
- 3
Never combine two sans-serifs such as Roboto and Open Sans.
- 4
Limit any project to two typefaces total, no exceptions.
Why it works
Each typeface carries its own rhythm of stroke contrast, x-height, and spacing; mixing two sans-serifs like Roboto and Open Sans puts two similar-but-different rhythms side by side, which reads as a mismatch rather than a deliberate contrast. A serif-plus-sans pairing signals hierarchy through genuine structural difference, or one typeface removes the risk entirely.
What breaks
Two similar sans-serifs next to each other look like a font-loading bug rather than a design choice, especially at similar weights and sizes, and teams end up debating which one is off with no clear answer.
Review questions
- 1
Does the page use one typeface, or a clear serif-plus-sans pair?
- 2
Are there two different sans-serif fonts appearing anywhere?
- 3
Would a viewer describe the pairing as intentional contrast, not a mismatch?