Red Hat Display + Inter

Grumpy wizards make toxic brew

A standfirst set in Inter, one size up — where a pairing starts earning trust.

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.

“Type is a beautiful group of letters, not a group of beautiful letters.”

— Matthew Carter

Fig. 1 — Red Hat Display over Inter, in the wild.

Red Hat Display 700 / Inter 400 — click any section and type your own copy.

Why it works

Red Hat Display's squared geometric letterforms give headings an engineered, open-source confidence, while Inter plays its familiar role as the neutral system voice for UI and body copy. Both are low-contrast and upright, so they share a rhythm, but Red Hat's distinctive single-story a and cut curves add just enough character to keep the headline from disappearing into the paragraph.

More about each face: Red Hat Display · Inter

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=Red+Hat+Display:wght@700&family=Inter:wght@400;600&display=swap" rel="stylesheet">
CSS
h1, h2, h3 {
  font-family: 'Red Hat Display', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
}

body {
  font-family: 'Inter', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-weight: 400;
}
Next.js — next/font
import { Red_Hat_Display, Inter } from "next/font/google";

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

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

Related pairings