Font Pairing Generator
Generate heading and body typeface pairings with a reason for each, set at real sizes so you can judge them properly.
Convert with this tool
or choose a file from your device — it is processed in this tab and never uploaded
Accepted: Optional: your own TTF, OTF or WOFF to use as the display face
Files stay on your device. There is no upload, no queue and no watermark, so a conversion works even with the network switched off after the page has loaded.
Supported formats & processing
| Accepted input | Optional: your own TTF, OTF or WOFF to use as the display face |
|---|---|
| Produced output | A pairing sheet with four combinations, downloadable as JSON |
| Processing | Web Audio API + canvas + native JavaScript encoders |
| Upload required | No — the file is read locally and never transmitted |
How to use this tool
- Choose the moodEditorial favours a serif partner, technical favours a monospace, friendly favours rounded forms.
- Set the heading and body sizesUse your real design sizes so the contrast is honest.
- Read the rationale for each pairingEach one explains the shared trait and the contrast that creates hierarchy.
- Upload your own font if you have oneIt becomes the display face in every sample.
- Download the pairing sheetThe JSON export lists every combination for reference.
About this tool
Good pairings are not random. Two typefaces work together when they share a skeleton — a similar x-height and stroke contrast — while differing enough in one dimension to create a clear hierarchy. A geometric sans heading over a warm serif body is the classic editorial combination for exactly that reason.
This generator offers curated pairings with the rationale written out, filtered by the mood of your brand, and sets each one at real heading and body sizes so you can judge the rhythm rather than the specimen. Upload your own font and it becomes the display face, so you can test pairings against something you are already committed to.
Features
- Curated pairings with a written rationale for each
- Mood filtering for editorial, technical and friendly brands
- Real heading and body sizes rather than a specimen sheet
- Your own uploaded font used as the display face
- Direct links to the previewer and the legibility tester
- Downloadable JSON pairing sheet
Frequently asked questions
What makes a good pairing?
Shared proportions with contrasting character. Matching x-heights and similar stroke contrast make the two faces sit together comfortably; a difference in formality, width or serif style creates the hierarchy that separates heading from body.
How many typefaces should a design use?
Two, in almost every case. Three is possible if one is a monospace used only for data. Beyond that, the page starts to look incoherent.
Can I use one font family for everything?
Yes, and it is often the safest choice. A family with a wide weight range gives you hierarchy through weight and size alone, which is more coherent than pairing two unrelated faces.
Are the suggested pairings based on machine learning?
No. They are curated from established typographic principles — shared skeleton, contrasting stress, compatible x-height — and the reasoning is written out for each so you can judge it yourself.