colour tool

Font pairing tool

Pick a heading font and a body font, type your own words, and see the pair set at the size of a flyer, a slide and a document page. Any Google Font works, and the CSS to load the pair is written for you underneath.

Loading the tool…

How it works

  1. 1

    Start from a pair or pick your own

    Tap one of the six starting pairs, or choose a heading font and a body font from the lists. Choose Another Google Font to type any family name, such as Bebas Neue.

  2. 2

    Type your own words

    Replace the sample heading and body text with your real copy, and set the heading weight from 400 to 800. The preview updates as you type.

  3. 3

    Switch between sizes

    Flyer, Slide and Document show the pair on an A4 flyer canvas, a 1920 by 1080 slide and an A4 page, each scaled to fit your screen.

  4. 4

    Copy the CSS

    The block under the preview has the Google Fonts link tags and the font-family rules for headings and body text. Copy CSS puts it on your clipboard.

Why a pair needs to be seen at real sizes

A heading font and a body font are read in different ways. The heading is seen once, large, from a distance; the body is read line after line at a small size. Two fonts that look fine side by side in a list can fail once they do those jobs: a display face with tight letters becomes hard to read at 15 pixels, and a quiet text face can look timid at 130. That is why this font pairing tool shows each pair at three working sizes. On the flyer canvas the heading is 132 px on a 1240 px wide page, on the slide it is 96 px on 1920, and on the document page it is 36 px over 15 px body text.

What usually makes two fonts work together

Most pairs that last follow one of three patterns. Contrast of class puts a serif against a sans serif, such as Playfair Display over Inter, so the two roles are obvious at a glance. Contrast of weight uses one family or two similar ones, with a heavy heading over a light body. A shared skeleton picks two faces with similar proportions and x-height, so the page feels like one voice. The pattern to avoid is two fonts that are almost the same, where the reader notices a difference without understanding it. Type the real words you will publish, because a short punchy heading and a long one wrap and weigh very differently.

Where the fonts come from

When you pick a family, the page adds a Google Fonts stylesheet for it, and the browser downloads the font files from Google. Only the family name travels; the heading and body text you type never leave this tab, and nothing is stored, ever. If a request fails, the preview falls back to a generic serif or sans serif and a notice names the font that did not load, so a blocked network is never mistaken for an ugly pair.

Using the pair in a presentation

Slides in OneCraft offer 42 fonts, 25 sans serif and 17 serif or display, and 27 of them are in the lists here, so a pair you like can be set up there without hunting. The copied CSS is for a website or an email template: it loads the weights 400, 600, 700 and 800 with display set to swap, then applies the heading family to h1 to h3 and the body family to everything else.

Limits worth knowing

The preview depends on Google Fonts, so it needs a network that reaches fonts.googleapis.com and fonts.gstatic.com. A family name has to match Google's spelling, with spaces and capitals as listed there. Weights are requested from 400 to 800, and a family that lacks one is drawn with the browser's synthetic bold. Kerning, ligatures and language support follow the font itself.

Limits

  • Fonts load from Google Fonts, so a network that blocks fonts.googleapis.com shows the fallback stack instead, and the page says which font failed.
  • Only families published on Google Fonts can be previewed; a font installed on your computer or bought elsewhere cannot be loaded by name.
  • Weights a family does not have are faked by the browser, so a heading set at 800 in a single weight face looks smeared rather than truly bold.

What it does not do

  • It does not judge whether a pair is good. The six starting pairs are suggestions, not a score.
  • It does not upload your text or keep a list of pairs you tried.
  • It does not license fonts. Google Fonts families are free to use, but check the licence of anything else you pair with them.

Questions people ask

Can I preview a font that is not on Google Fonts?

Not by name. The tool loads fonts through the Google Fonts stylesheet service, so only families published there can be fetched. A font installed on your own computer would show if you typed its exact name, but only because your browser already has it, and nobody viewing your site would see it unless you host the files yourself.

Why does my heading look blurry or smeared when I pick weight 800?

Because that family has no 800 weight, so the browser fakes one by thickening the 400 or 700 letters. Families such as Gilda Display and Libre Bodoni ship only a few weights. Drop the heading weight to 700 or 400, or choose a family with a real heavy cut, such as Montserrat, Poppins or Big Shoulders Display.

Is it better to pair a serif with a sans serif?

It is the safest pattern, not the only one. Serif over sans gives each role an obvious job, which helps on posters and slides read from a distance. Two sans serifs can work when the weights or widths differ clearly, such as a condensed heading over a wide body. What rarely works is two faces that differ only slightly.

How many fonts should one design use?

Two is the usual answer: one for headings and one for body text. A third font is sometimes added for numbers, code or captions, but each extra family is another download and another voice. On a slide deck or flyer, using weights and sizes of the same two families gives more variety than adding a third face.

Does the copied CSS slow my website down?

It adds two font downloads per family used, one stylesheet request and the font files themselves. The preconnect lines let the browser open the connection early, and display swap shows fallback text while the fonts arrive. To trim it, remove weights you do not use from the link, since each weight is a separate file.

Use a pair like this in a deck

Take what you made here into presentations.

Create a presentation with OneCraft

More tools like this

Background reading: the question page on this.

Built with Google Fonts (SIL OFL 1.1 for most families).

Sources

Written and checked by the OneCraft team. Last checked .