font-family: 'Bricolage Grotesque', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
112 font pairings,
with the CSS to match.
Hand-picked heading and body combinations from Google Fonts: sans-serif, serif, display, handwriting and monospace. Type your own text, set the size, filter by style, copy the CSS. Every font is free and open-source, and loads only when its card scrolls into view.
No pairings found
Try a different name or clear the filter.
font-family: 'Space Grotesk', sans-serif; /* heading */
font-family: 'DM Sans', sans-serif; /* body */
font-family: 'Plus Jakarta Sans', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Outfit', sans-serif; /* heading */
font-family: 'Work Sans', sans-serif; /* body */
font-family: 'Sora', sans-serif; /* heading */
font-family: 'Nunito', sans-serif; /* body */
font-family: 'Figtree', sans-serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'Lexend', sans-serif; /* heading */
font-family: 'Lato', sans-serif; /* body */
font-family: 'Instrument Sans', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Manrope', sans-serif; /* heading */
font-family: 'Roboto', sans-serif; /* body */
font-family: 'Geist', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Inter', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Poppins', sans-serif; /* heading */
font-family: 'Work Sans', sans-serif; /* body */
font-family: 'Manrope', sans-serif; /* heading */
font-family: 'Nunito', sans-serif; /* body */
font-family: 'Urbanist', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'IBM Plex Sans', sans-serif; /* heading */
font-family: 'IBM Plex Sans', sans-serif; /* body */
font-family: 'Playfair Display', serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'Lora', serif; /* heading */
font-family: 'Open Sans', sans-serif; /* body */
font-family: 'Cormorant Garamond', serif; /* heading */
font-family: 'Raleway', sans-serif; /* body */
font-family: 'Fraunces', serif; /* heading */
font-family: 'Lexend', sans-serif; /* body */
font-family: 'DM Serif Display', serif; /* heading */
font-family: 'Karla', sans-serif; /* body */
font-family: 'Merriweather', serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'Bitter', serif; /* heading */
font-family: 'Rubik', sans-serif; /* body */
font-family: 'Syne', sans-serif; /* heading */
font-family: 'Plus Jakarta Sans', sans-serif; /* body */
font-family: 'Outfit', sans-serif; /* heading */
font-family: 'Outfit', sans-serif; /* body */
font-family: 'Bricolage Grotesque', sans-serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'Quicksand', sans-serif; /* heading */
font-family: 'Nunito Sans', sans-serif; /* body */
font-family: 'Sora', sans-serif; /* heading */
font-family: 'Quicksand', sans-serif; /* body */
font-family: 'Figtree', sans-serif; /* heading */
font-family: 'Quicksand', sans-serif; /* body */
font-family: 'IBM Plex Sans', sans-serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'Geist', sans-serif; /* heading */
font-family: 'IBM Plex Sans', sans-serif; /* body */
font-family: 'Rubik', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Albert Sans', sans-serif; /* heading */
font-family: 'DM Sans', sans-serif; /* body */
font-family: 'Nunito Sans', sans-serif; /* heading */
font-family: 'Lato', sans-serif; /* body */
font-family: 'Red Hat Display', sans-serif; /* heading */
font-family: 'Red Hat Text', sans-serif; /* body */
font-family: 'Urbanist', sans-serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'Cabin', sans-serif; /* heading */
font-family: 'Roboto', sans-serif; /* body */
font-family: 'Exo 2', sans-serif; /* heading */
font-family: 'Open Sans', sans-serif; /* body */
font-family: 'Josefin Sans', sans-serif; /* heading */
font-family: 'Lato', sans-serif; /* body */
font-family: 'Karla', sans-serif; /* heading */
font-family: 'Inconsolata', monospace; /* body */
font-family: 'Archivo', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Commissioner', sans-serif; /* heading */
font-family: 'Nunito', sans-serif; /* body */
font-family: 'Barlow', sans-serif; /* heading */
font-family: 'Roboto', sans-serif; /* body */
font-family: 'Titillium Web', sans-serif; /* heading */
font-family: 'Open Sans', sans-serif; /* body */
font-family: 'Mulish', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Public Sans', sans-serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'Libre Baskerville', serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'Crimson Pro', serif; /* heading */
font-family: 'Work Sans', sans-serif; /* body */
font-family: 'Spectral', serif; /* heading */
font-family: 'Karla', sans-serif; /* body */
font-family: 'Vollkorn', serif; /* heading */
font-family: 'Nunito', sans-serif; /* body */
font-family: 'Noto Serif', serif; /* heading */
font-family: 'Noto Sans', sans-serif; /* body */
font-family: 'Source Serif 4', serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'EB Garamond', serif; /* heading */
font-family: 'Lato', sans-serif; /* body */
font-family: 'Cardo', serif; /* heading */
font-family: 'Josefin Sans', sans-serif; /* body */
font-family: 'Righteous', cursive; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Fredoka', sans-serif; /* heading */
font-family: 'Nunito', sans-serif; /* body */
font-family: 'Bungee', cursive; /* heading */
font-family: 'DM Sans', sans-serif; /* body */
font-family: 'Titan One', cursive; /* heading */
font-family: 'Poppins', sans-serif; /* body */
font-family: 'Kalam', cursive; /* heading */
font-family: 'Open Sans', sans-serif; /* body */
font-family: 'Sacramento', cursive; /* heading */
font-family: 'Lato', sans-serif; /* body */
font-family: 'Space Mono', monospace; /* heading */
font-family: 'Space Grotesk', sans-serif; /* body */
font-family: 'Sora', sans-serif; /* heading */
font-family: 'Nunito Sans', sans-serif; /* body */
font-family: 'Urbanist', sans-serif; /* heading */
font-family: 'Karla', sans-serif; /* body */
font-family: 'Figtree', sans-serif; /* heading */
font-family: 'Instrument Sans', sans-serif; /* body */
font-family: 'Lexend', sans-serif; /* heading */
font-family: 'Source Sans 3', sans-serif; /* body */
font-family: 'Archivo Black', sans-serif; /* heading */
font-family: 'Archivo', sans-serif; /* body */
font-family: 'Chivo', sans-serif; /* heading */
font-family: 'Lato', sans-serif; /* body */
font-family: 'Barlow Condensed', sans-serif; /* heading */
font-family: 'Barlow', sans-serif; /* body */
font-family: 'Jost', sans-serif; /* heading */
font-family: 'Mulish', sans-serif; /* body */
font-family: 'Kanit', sans-serif; /* heading */
font-family: 'Sarabun', sans-serif; /* body */
font-family: 'Epilogue', sans-serif; /* heading */
font-family: 'Work Sans', sans-serif; /* body */
font-family: 'Inter Tight', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Schibsted Grotesk', sans-serif; /* heading */
font-family: 'Public Sans', sans-serif; /* body */
font-family: 'Golos Text', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Onest', sans-serif; /* heading */
font-family: 'Geist', sans-serif; /* body */
font-family: 'Albert Sans', sans-serif; /* heading */
font-family: 'Nunito', sans-serif; /* body */
font-family: 'Hanken Grotesk', sans-serif; /* heading */
font-family: 'Roboto', sans-serif; /* body */
font-family: 'Fraunces', serif; /* heading */
font-family: 'Manrope', serif; /* body */
font-family: 'DM Serif Display', serif; /* heading */
font-family: 'DM Sans', serif; /* body */
font-family: 'Cormorant', serif; /* heading */
font-family: 'Proza Libre', serif; /* body */
font-family: 'Newsreader', serif; /* heading */
font-family: 'Inter', serif; /* body */
font-family: 'Literata', serif; /* heading */
font-family: 'Source Sans 3', serif; /* body */
font-family: 'Gloock', serif; /* heading */
font-family: 'Figtree', serif; /* body */
font-family: 'Instrument Serif', serif; /* heading */
font-family: 'Instrument Sans', serif; /* body */
font-family: 'Young Serif', serif; /* heading */
font-family: 'Nunito', serif; /* body */
font-family: 'Bodoni Moda', serif; /* heading */
font-family: 'Montserrat', serif; /* body */
font-family: 'Yeseva One', serif; /* heading */
font-family: 'Josefin Sans', serif; /* body */
font-family: 'Libre Caslon Text', serif; /* heading */
font-family: 'Karla', serif; /* body */
font-family: 'Zilla Slab', serif; /* heading */
font-family: 'Lato', serif; /* body */
font-family: 'Roboto Slab', serif; /* heading */
font-family: 'Roboto', serif; /* body */
font-family: 'Arvo', serif; /* heading */
font-family: 'Open Sans', serif; /* body */
font-family: 'Playfair Display', serif; /* heading */
font-family: 'Lato', serif; /* body */
font-family: 'Unbounded', sans-serif; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'Anton', sans-serif; /* heading */
font-family: 'Poppins', sans-serif; /* body */
font-family: 'Bebas Neue', sans-serif; /* heading */
font-family: 'Montserrat', sans-serif; /* body */
font-family: 'Alfa Slab One', sans-serif; /* heading */
font-family: 'Nunito', sans-serif; /* body */
font-family: 'Lilita One', sans-serif; /* heading */
font-family: 'Quicksand', sans-serif; /* body */
font-family: 'Abril Fatface', sans-serif; /* heading */
font-family: 'Lato', sans-serif; /* body */
font-family: 'Rubik Mono One', sans-serif; /* heading */
font-family: 'Rubik', sans-serif; /* body */
font-family: 'Paytone One', sans-serif; /* heading */
font-family: 'Nunito Sans', sans-serif; /* body */
font-family: 'Passion One', sans-serif; /* heading */
font-family: 'Open Sans', sans-serif; /* body */
font-family: 'Righteous', sans-serif; /* heading */
font-family: 'Poppins', sans-serif; /* body */
font-family: 'Caveat', cursive; /* heading */
font-family: 'Nunito', sans-serif; /* body */
font-family: 'Dancing Script', cursive; /* heading */
font-family: 'Lato', sans-serif; /* body */
font-family: 'Pacifico', cursive; /* heading */
font-family: 'Poppins', sans-serif; /* body */
font-family: 'Shadows Into Light', cursive; /* heading */
font-family: 'Open Sans', sans-serif; /* body */
font-family: 'Permanent Marker', cursive; /* heading */
font-family: 'Roboto', sans-serif; /* body */
font-family: 'Satisfy', cursive; /* heading */
font-family: 'Raleway', sans-serif; /* body */
font-family: 'JetBrains Mono', monospace; /* heading */
font-family: 'Inter', sans-serif; /* body */
font-family: 'IBM Plex Mono', monospace; /* heading */
font-family: 'IBM Plex Sans', sans-serif; /* body */
font-family: 'Fira Code', monospace; /* heading */
font-family: 'Fira Sans', sans-serif; /* body */
font-family: 'DM Mono', monospace; /* heading */
font-family: 'DM Sans', sans-serif; /* body */
font-family: 'Roboto Mono', monospace; /* heading */
font-family: 'Roboto', sans-serif; /* body */
- 112 pairings across five styles
- Live preview your text, your size
- CSS to copy heading and body, one click
- Free fonts open-source, from Google Fonts
Typography is the silent voice of the brand
The right pairing sets the tone, builds trust and makes reading easy before a single word is consciously read. These are the rules the 112 pairings above follow, and the ones to keep when you make your own.
-
Contrast is the point
A decorative serif over a neutral sans, a heavy display face over a light text face: clear stylistic difference reads as a decision. Two fonts that are nearly the same read as a mistake.
- Two families, no more
Weights, sizes and italics of two families give all the variety a page needs; a third adds noise and bytes.
- Match mood to message
Serifs carry tradition and authority, sans-serifs modernity and access, display faces a statement. Pick the mood the brand means.
- A type scale
A steady ratio between levels (1.25 or 1.333) makes a page feel systematic; body text lives between 16 and 18 pixels.
- Hierarchy people feel
Strong heading-to-body contrast tells readers where to look first, second and third without thinking about it.
-
Load only what you use
Every weight is a request. Ask Google Fonts for the two or three weights on the page, add
display=swap, and prefer a variable font when the family has one. This page does the same: a card's fonts load when it scrolls near. - Test at real sizes
A face looks different at 14 and 48 pixels. Preview at the sizes you will ship, with real copy, on a real phone.
- Consistency builds trust
The same two families on the site, in the app and in the emails read as one brand, and one that has its act together.
- Match x-heights
Families with similar x-heights sit together at the same size; mismatched ones need separate sizes to look even.
From this page to your stylesheet in four steps
- 1Filter and searchPick a style, type a font you already like, or start from the popular chips.
- 2Preview your wordsType your own headline and set the size; every card follows, in the real fonts.
- 3Copy the CSSTwo font-family lines, heading and body, with the right generic fallback, on your clipboard.
- 4Try it with the artOpen the pairing in the Design Studio next to an illustration from the library and see the whole page at once.
Complete the page with matching illustrations
Type sets the voice; the artwork sets the scene. Browse hundreds of hand-drawn packs by style, recolour any of them to the palette, and put type and image together in the Design Studio.
- 112font pairings
- 5styles to filter by
- 1,600+Google Fonts in the studio
- $0every font, every export
Questions about font pairings
How do I choose the right font pairing?
Start with the brand's personality and the audience. Pair fonts with contrasting styles, a strong serif heading over a readable sans-serif body works almost every time, and look for families with similar proportions or x-heights so they feel related. Then test the pair at the sizes you will really use.
Can I use these fonts for free?
Yes. Every pairing here uses Google Fonts, which are free and open-source under the SIL Open Font License or the Apache License: personal and commercial projects, no licence fees. Copy the CSS, add the link tag, and you are done.
What makes a good heading and body combination?
Clear hierarchy with harmony: contrasting weights and styles, a bold or decorative heading over a neutral body, and a body face that stays legible at 16 to 18 pixels. When in doubt, use two cuts of one superfamily; they were drawn to sit together.
How do I load Google Fonts on my website?
Add a link tag in the head pointing at fonts.googleapis.com/css2 with the families and weights you need, for example family=Inter:wght@400;700, and put display=swap on the URL so text shows before the font arrives. Then reference the family in your CSS.
Should I use more than two fonts?
For most projects two are enough, one for headings and one for text. A third family usually adds noise and page weight; use weights, sizes and italics of the two you have for variety.
How do font pairings affect performance?
Every family and weight is a request and more bytes. Load only the weights you use, add display=swap, prefer variable fonts when the family has one, and self-host if you need full control over caching.
Made by the same team, all in the browser
Color Wheel
Seven harmony modes, WCAG contrast and exports to CSS, Tailwind, SCSS or JSON.
Open the Color Wheel →SVG Color Editor
Drop an SVG, every colour becomes a swatch, swap them with a live preview.
Open the editor →Design Studio
Every one of these fonts, plus 200,000+ icons and the illustration library, on one canvas.
Open Design Studio →Vectorizer Lab
Turn a PNG or JPG into a clean, layered SVG with real strokes and editable colours.
Open Vectorizer Lab →Pixel Lab
Any image into pixel art, halftone or ASCII, with pixel-perfect SVG export.
Open Pixel Lab →All the tools
The whole set of free design tools, with what is coming next.
View all free design tools →