Spectral + Inter

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.

Spectral 600 / Inter 400 — click the text to edit

Why it works

Spectral was commissioned by Google for long-form reading on screens, and its crisp wedge serifs and slightly condensed width give headlines a sharp literary voice without Didone fragility. Inter beneath it is the pragmatic counterweight: neutral, tall-x-height body text that renders cleanly at 16px. Because both faces were engineered for screen rasterization first, the pairing stays cohesive across devices in a way print-era revivals often don't.

More about each face: Spectral · 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=Spectral:wght@600&family=Inter:wght@400;600&display=swap" rel="stylesheet">
CSS
h1, h2, h3 {
  font-family: 'Spectral', Georgia, 'Times New Roman', serif;
  font-weight: 600;
}

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

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

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

Related pairings