How to use the font contrast axis checklist
The point of using different fonts for headings and body is to make the two tell apart. Yet a pair that differs only in classification, while sharing a similar x-height and advance, still reads as one typeface. This checklist takes the classification, x-height ratio and average advance of both fonts and sorts out which axis separates them and which one clashes.
On the classification axis, two different classes count as separated and the same class counts as a clash. On the x-height and advance axes the difference is compared with a threshold you set, and a difference at or above it counts as separated. The comparison runs at the three decimals shown and the threshold is printed alongside. Written as of October 2026.
Instead of naming fonts for you, this tool checks whether a pair you are considering has enough contrast, so you can choose with a reason. No authoritative table of pairings exists, so a "use this with that" list would be a recommendation with nothing behind it. Weight contrast is also left out - a separate tool covers it. And a pair spread wide on all three axes is not automatically a good pair. Setting a real sentence in both fonts and looking at it remains your job.
Frequently Asked Questions
Not as a list of font names. There is no authoritative table of pairings, so publishing a list would be a recommendation without a basis. Instead, enter candidate pairs and it checks whether the contrast is enough to choose between them. This tool reports only which axes separate the two fonts and which ones clash.
Contrast between heading and body weight is handled by a separate tool. Covering the same figure in two places produces conflicting answers, so this page looks only at classification, x-height and average advance.
There is no authoritative value, so you have to set one. Set the pair side by side and use the difference at which you could tell them apart. The comparison runs at the three decimals shown, and the threshold is printed with the result.