Font Pairing Calculator
Compatibility score for heading and body pairings.
About this calculator
This calculator scores a heading-and-body font pairing across two opposing forces: contrast, where difference between the two fonts is good, and harmony, where similarity is good. On the contrast side, it compares each font's classification (serif, sans, slab, display, or mono, rated 1–5) and rewards pairs that are clearly distinct — identical classifications score a weak 30, while a two-step-or-greater difference scores 80+ — and it separately rewards a bolder heading than body, since a heading roughly matching or falling below body weight scores poorly. On the harmony side, it compares x-height proportion and stroke contrast (how much a typeface's strokes vary in thickness, from monolinear faces like Futura to high-contrast faces like Bodoni) and rewards closeness: every step of difference in x-height costs 30 points, every step of stroke-contrast difference costs 25.
The overall compatibility score blends these as a weighted average — 30% classification, 20% weight contrast, 30% x-height match, 20% stroke match — reflecting the idea that classification difference and x-height similarity matter most to a pairing feeling deliberate rather than accidental. This is a heuristic model built on typographic conventions, not a measurement of any real typeface: you supply the 1–5 ratings yourself based on how you'd characterize the actual fonts, so the output is only as good as your own assessment of their properties. It's best used as a sanity check against a pairing you're already considering, or to compare a few candidate pairings against each other, rather than as a definitive verdict on any single combination.
Inputs
Results
Overall compatibility
80/100
How to Use This Calculator
- Enter Heading classification (1–5), Body classification (1–5), and Heading x-height (1–5).
- Set Body x-height (1–5), Heading stroke contrast (1–5), and Body stroke contrast (1–5).
- Adjust Heading weight (1–5), Body weight (1–5) as needed.
- Review the Overall compatibility (/100) result.
- Use Contrast score (/100) and Harmony score (/100) to inform your decision.
What each input means
- Heading classification (1–5)
- Heading font class: 1=Serif, 2=Sans-serif, 3=Slab serif, 4=Display/script, 5=Monospace.
- Body classification (1–5)
- Body font class: 1=Serif, 2=Sans-serif, 3=Slab serif, 4=Display/script, 5=Monospace.
- Heading x-height (1–5)
- Heading x-height proportion: 1=Very small (Didot), 3=Medium (Garamond), 5=Very large (Verdana).
- Body x-height (1–5)
- Body x-height proportion on the same 1–5 scale.
- Heading stroke contrast (1–5)
- Stroke variation: 1=Monolinear (Futura), 3=Moderate, 5=High contrast (Bodoni).
- Body stroke contrast (1–5)
- Body font stroke contrast on the same 1–5 scale.
- Heading weight (1–5)
- Heading weight: 1=Thin, 2=Light, 3=Regular, 4=Bold, 5=Black.
- Body weight (1–5)
- Body weight: 1=Thin, 2=Light, 3=Regular, 4=Bold, 5=Black.
What each result means
- Overall compatibility
- Weighted score: 80+ = Excellent pairing, 60–79 = Good, 40–59 = Fair, <40 = Poor.
- Contrast score
- How well the pair creates visual differentiation between heading and body.
- Harmony score
- How well the pair's shared characteristics create visual cohesion.
- Classification fit
- Score for classification pairing (e.g. serif + sans = strong contrast).
- Weight contrast
- Score for weight differentiation — headings should generally be bolder.
- x-height match
- How similar the x-height proportions are — closer is more harmonious.
How this is calculated
Worked example, using the default values
- Identify Input Parameters4 parametersHeading classification (1–5) = 2, Body classification (1–5) = 1, Heading x-height (1–5) = 3, Body x-height (1–5) = 3 = 8 input(s) provided
- Calculate Overall compatibilityOverall compatibility = min(10080 = 80
- Calculate Contrast scoreContrast score = min(10070 = 70
- Calculate Harmony scoreHarmony score = min(10088 = 88
Engine last updated . Checked against 3 independently-derived tests — how we verify calculators. Built by Paul Gunder, a software engineer, not a licensed financial, medical, or legal professional.
Frequently Asked Questions
Why does pairing two fonts from the same classification score so poorly?
A zero-step classification difference (both serif, or both sans, for example) scores only 30 out of 100 on that dimension, while a one-step difference jumps to 65 and a two-step-or-greater difference scores 80 or above. The model treats classification contrast as one of the clearest signals of a deliberate pairing, since two fonts from the same family can look like a mistake — as if you forgot to change the heading font — rather than a considered choice.
Does my heading font always need to be bolder than my body font?
The calculator rewards it: a positive weight difference (heading heavier than body) scores up to 100 as the gap widens, while a heading at or below body weight scores well under 50. This reflects a common typographic convention that headings should visually outweigh body text to establish hierarchy, but it's a scoring heuristic, not a hard rule — you can still get a usable pairing with a lighter heading if other dimensions compensate.
What's the actual difference between the 'contrast score' and 'harmony score' outputs?
Contrast score is the average of the classification score and weight contrast score — it measures how clearly differentiated your heading and body fonts are. Harmony score is the average of the x-height match score and stroke match score — it measures how visually cohesive the two fonts feel together. The overall compatibility score then blends all four underlying scores with different weights (30/20/30/20) rather than simply averaging the two summary scores.
How accurate is this if I'm just guessing the 1–5 ratings for my fonts?
As accurate as your guesses are — this calculator doesn't measure any real typeface file, it only does arithmetic on the classification, x-height, stroke-contrast, and weight numbers you supply. If you rate a font's x-height or stroke contrast incorrectly relative to its actual design, the score will be misleading in exactly the direction your input error points, so it's most useful as a relative comparison between a few candidate pairings you already have in mind rather than an absolute verdict.
Related Calculators
The questions that sit next to this one — chosen by subject, including calculators filed under a different category.
More in Creative, Media & Design.