Pairing Typefaces Without Them Fighting
A separate guide on this site covers the mechanics of pairing typefaces by classification and contrast. This one asks the opposite question: what actually makes two typefaces "fight" — compete for the reader's attention instead of settling into a clear headline-and-body relationship? The answer turns out to be checkable directly in the data behind the font-pairing suggester on this site, not just asserted as a rule of thumb.
Eleven categories, examined as a set
The tool's underlying dataset organises real, freely available typefaces into eleven classifications: humanist serif, old-style serif, transitional serif, Didone serif, slab serif, geometric sans, humanist sans, grotesque sans, script, blackletter, and monospace. Each one carries a short description, a list of classifications it's suggested to pair with, a couple of real example pairings, and a flag marking whether it's meant to stay confined to short, display-only use. That last flag turns out to be the key to the whole "fighting" question.
Exactly two categories are marked "display only" — and it's not arbitrary
Of the eleven categories, exactly two — script and blackletter — are flagged displayOnly: true. Both are, in plain terms, the loudest, most expressive classifications in the set: script faces are cursive and hand-lettered in character, blackletter faces are historic broken/Gothic forms used for mastheads and heraldic themes. Both sacrifice some legibility for personality, and both are marked as unsuited to carrying long stretches of body text. Nine of the eleven categories carry no such flag — they're considered safe to use at both display and body sizes, which is really a proxy for "quiet enough not to fight with whatever else is on the page."
The rule the data enforces, not just states
Here's the detail worth noticing: script's suggested pairing partners are grotesque sans and humanist sans — and blackletter's suggested partners are exactly the same two categories, grotesque sans and humanist sans. Neither one lists the other as a suggested pair. In other words, the dataset doesn't just advise against pairing two expressive, display-only faces together — it structurally never generates that suggestion in the first place, because neither display-only category appears in the other's pairsWith list. That's a stronger, more checkable version of the "don't stack two loud voices" guidance than a sentence of prose: it's a rule baked into the actual data every suggestion is drawn from.
What the curated examples actually look like
Running suggestPairings("didone-serif") returns a category described as "high-contrast, vertical-stress serifs with hairline thins," suggested to pair with humanist sans or grotesque sans, with two concrete examples: Playfair Display paired with Source Sans 3, and Abril Fatface paired with Work Sans. Both examples follow the same underlying shape — a dramatic, high-personality serif on top, a genuinely quiet, low-personality sans underneath. Running suggestPairings("geometric-sans"), described as "built from simple circles and straight lines... can feel cold in long paragraphs," returns Poppins paired with Merriweather and Montserrat paired with Source Serif 4 — the pattern flipped, a plain geometric sans on top this time, warmed up by a serif built specifically for long reading underneath. In both cases, exactly one side of the pairing is doing the "quiet" job, and it's never the same side twice in a row across the dataset — whichever classification is more expressive gets the display role, and its partner is chosen specifically for having comparatively little personality of its own.
Counting the curation itself
Across all eleven categories, the dataset offers twenty total example pairings — an average of 1.82 per category, meaning most categories carry just one or two hand-picked examples rather than an exhaustive list. That's a meaningful editorial choice: the tool isn't trying to enumerate every combination that could technically work, it's offering a small number of genuinely reliable starting points per category. A short, high-confidence list is more useful here than a long, unfiltered one, precisely because the question this whole article is asking — will these two typefaces fight? — is exactly the question a long, unfiltered list would fail to answer.
A one-question check before you commit
All of this reduces to a fast, concrete check you can run on any pairing before finalising it: is either typeface something you'd classify as display-only — genuinely too expressive or too personality-heavy to read comfortably as body text? If only one of your two typefaces answers yes, you likely have a normal, working contrast pairing, with the display-only face carrying the headline role and the quiet face carrying everything else. If both answer yes, you've very likely found your fight, and the fix isn't a spacing or sizing adjustment — it's swapping one of the two for something quieter, the same conclusion the tool's own dataset reaches structurally every time it's asked to suggest a pairing.
Beyond the two extremes
Most real pairing decisions won't involve script or blackletter at all — they'll involve two of the nine non-display-only categories, where the "fighting" risk is subtler than the display-only case and comes down to the classification-and-contrast reasoning covered in the companion guide on this site: similar-but-not-identical classifications reading as an accident rather than a choice, or mismatched proportions undermining a pairing that's technically contrasting on paper. The display-only check above catches the most obvious, most damaging version of "fighting" typefaces; it's a first filter, not the entire discipline of pairing well.
A one-directional pattern worth noticing
There's a second, subtler pattern in the same data. Checking every one of the eleven categories' pairsWith lists for a reference back to script or blackletter turns up nothing at all — not one of the nine non-display-only categories lists either display-only category as a suggested partner. Script and blackletter each point outward, toward grotesque sans and humanist sans, but nothing points back at them. That's a one-directional relationship, not a mutual one: a quiet sans is a suggested partner for a script or blackletter headline, but a script or blackletter face is never suggested as a partner for the quiet workhorse categories in their own right. It matches how these faces actually get used in practice — a script accent gets reached for when a specific piece calls for one expressive, ornamental line, not as a default option a body-text category would ever call in on its own.
The quiet categories mostly pair with other quiet categories
Look past the two display-only categories and the same logic continues among the remaining nine, just with lower stakes. Slab serif's suggested partners are geometric sans and humanist serif; monospace's are humanist sans and grotesque sans; grotesque sans' are slab serif, old-style serif, and Didone serif. None of these are wrong pairings if reversed or recombined differently — the point isn't that only these exact combinations work, it's that every suggested pair in the dataset puts a structurally different classification (serif with sans, or a plainer sans with a more textured serif) on each side, rather than ever pairing two faces that are simply variations on the same idea. That's the same contrast principle from the companion pairing guide on this site, just visible here as a pattern across an entire dataset rather than argued for in a single example.
What the script examples say about themselves
It's worth reading the actual notes attached to the script category's two example pairings, because they state the "no two loud voices" rule directly rather than leaving it implicit. Dancing Script paired with Inter carries the note: "a script accent for a title or logotype, set against a completely neutral body — never pair two expressive faces together." Pacifico paired with Open Sans carries a similar instruction: "keep the script to a word or short line; let the sans carry every paragraph." Both notes are doing the same job as the structural pattern described above, just spelled out in plain language for the one category where the risk of ignoring it is highest — a script face is the single easiest typeface classification to reach for once and then, without noticing, reach for again somewhere else in the same piece.
Most examples are freely licensed — but check each one, not the set
Most of the typefaces named across the dataset's example pairings — Playfair Display, Source Sans 3, Poppins, Merriweather, Dancing Script, Inter, and the majority of the rest — are freely available, many of them released under the SIL Open Font License covered in more depth in the companion pairing guide on this site. That's genuinely useful: a pairing you can implement in a real commercial layout without separately researching each typeface's terms first is a more practical starting point than a theoretically ideal pairing that turns out to need a licence you don't have. But it's worth checking each typeface individually rather than assuming the whole set is free, because it isn't: the transitional-serif category's own example pairs Georgia with Open Sans, and Georgia is a commercial system font licensed by Microsoft, not an open-licence release — free to use if it's already installed on a reader's device via a browser's font stack, but not something you can bundle, embed, or redistribute the way you can an OFL typeface. The lesson isn't to avoid that pairing; it's to treat "this typeface appeared in a curated example" as no substitute for actually reading what its specific licence permits.