Source Serif 4 + Source Sans 3

Grumpy wizards make toxic brew

The five boxing wizards jump quickly over the lazy dog, mixing jugs of quiet vodka while the jury watches. Click anywhere in this preview and type your own text to try the pairing.

Source Serif 4 600 / Source Sans 3 400 — click the text to edit

Why it works

A true superfamily pairing: Frank Grießhammer drew Source Serif at Adobe specifically to complement Paul Hunt's Source Sans, matching its x-height, weight distribution and vertical metrics. That shared skeleton means headings and body align optically with zero friction, while the serif's Fournier-inspired details add editorial authority the sans deliberately withholds. Ideal when you want serif gravitas without any pairing risk.

More about each face: Source Serif 4 · Source Sans 3

Use this pairing

HTML — Google Fonts embed
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@600&family=Source+Sans+3:wght@400;600&display=swap" rel="stylesheet">
CSS
h1, h2, h3 {
  font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  font-weight: 600;
}

body {
  font-family: 'Source Sans 3', 'Segoe UI', Helvetica, Arial, sans-serif;
  font-weight: 400;
}
Next.js — next/font
import { Source_Serif_4, Source_Sans_3 } from "next/font/google";

const heading = Source_Serif_4({
  subsets: ["latin"],
  weight: "600",
  variable: "--font-heading",
});

const body = Source_Sans_3({
  subsets: ["latin"],
  weight: "400",
  variable: "--font-body",
});

Related pairings