---
title: "Proprietary fonts → free alternatives (inspire)"
description: "Never download, self-host or subset a font file from the source site. Match the tuple instead: classification, x-height/width feel, weight used, then re-tune…"
canonical: https://void-design.vercel.app/docs/inspire/font-alternatives
lastModified: 2026-09-16
---

# Proprietary fonts → free alternatives

Never download, self-host or subset a font file from the source site. Match the **tuple** instead: classification, x-height/width feel, weight used, then re-tune tracking and leading with the alternative. `void extract` suggests alternatives per role (`dna.json` → `typography.roles[].alternatives`, map in `packages/cli/src/extract/fonts.ts`); this table adds tuning notes.

Licences: **OFL** = SIL Open Font License 1.1 (free for commercial use, embedding and self-hosting; can't sell the font alone). All OFL faces below are on `next/font/google` unless marked.

## Sans / grotesk

| Source (foundry, licence) | Seen on | Free alternative (licence) | Tuning |
|---|---|---|---|
| Söhne (Klim, commercial) | Stripe | Inter Tight (OFL) for display, Inter or Geist (OFL) for text | Söhne 300 display → Inter Tight 300–400; keep −0.02em; Inter `cv01, ss03` for a Söhne-like `1`/`a` |
| Neue Haas Grotesk / Helvetica Now (Monotype, commercial) | hellohello | Inter Tight (OFL) display, Inter (OFL) text; Schibsted Grotesk (OFL) for a sturdier poster feel; Arimo (Apache 2.0) metric fallback | NHG Bold is wide: Inter Tight 700 needs ~−0.02em more tracking; don't copy −0.04em body tracking onto Inter |
| Suisse Int'l (Swiss Typefaces, commercial) | Clerk | Inter or Geist (OFL), Instrument Sans (OFL) | Suisse 700 H1 → Geist 600 at −0.03em |
| GT America / GT Standard (Grilli Type, commercial) | — | Inter, Geist, Schibsted Grotesk, Hanken Grotesk (OFL) | condensed cuts → Instrument Sans `wdth` 85 |
| GT Walsheim (Grilli Type, commercial) | Framer | DM Sans, Figtree, Outfit (OFL) | Walsheim 500 −0.04em → Figtree 600 −0.03em |
| Graphik (Commercial Type, commercial) | — | Geist, Inter, Albert Sans (OFL) | — |
| Circular (Lineto, commercial) | — | Figtree, DM Sans (OFL) | avoid Plus Jakarta Sans (overused) |
| Akkurat, Brown, Unica 77 (Lineto, commercial) | — | Inter, Schibsted Grotesk, Instrument Sans (OFL) | — |
| ABC Diatype / ABC Favorit / ABC Oracle (Dinamo, commercial) | Resend H2, TBC, Dia | Geist, Schibsted Grotesk (OFL); Space Grotesk (OFL) for Favorit's quirk at display only | Favorit −0.05em H2 → Space Grotesk −0.035em; never Space Grotesk as body |
| Aeonik (CoType, commercial) | — | Manrope, Geist, Figtree (OFL) | — |
| PP Neue Montreal / PP Mori (Pangram Pangram, commercial; free for personal use only) | — | Inter Tight, Hanken Grotesk, Instrument Sans (OFL) | "free for personal" is not a licence for client or company sites |
| Founders Grotesk (Klim, commercial) | — | Schibsted Grotesk, Hanken Grotesk (OFL) | — |
| Untitled Sans (Klim, commercial) | — | Inter, Geist (OFL) | — |
| Basis Grotesque, Apercu (Colophon, commercial) | — | Hanken Grotesk, DM Sans, Figtree (OFL) | — |
| Proxima Nova, Gotham, Sofia Pro, Avenir/Futura (commercial) | — | Figtree, Outfit (OFL); Jost (OFL) for Futura geometry | Montserrat is the literal match but reads as template; prefer Figtree |
| SF Pro / system-ui (Apple; not licensed for web embedding) | many | Inter (OFL); or keep `system-ui` as a fallback stack only | — |

## Serif

| Source | Seen on | Free alternative | Tuning |
|---|---|---|---|
| Tiempos Headline/Text, Domaine, Financier, Untitled Serif (Klim, commercial) | Linear accent, Resend H1, Attio | Newsreader (OFL, opsz), Source Serif 4 (OFL, opsz); Instrument Serif (OFL) for headlines ≥ 40px | Domaine 400 at 96px −0.01em → Newsreader 400 display −0.012em (editorial knob 0.35) |
| Canela, Ogg, Recoleta, Editorial Old, Saol, Lyon, Publico, Noe Display (commercial) | — | Instrument Serif, Fraunces (`SOFT` 50, `WONK` 0), Newsreader (OFL) | high-contrast display: Instrument Serif; soft: Fraunces |
| GT Super / GT Sectra / GT Alpina (Grilli Type, commercial) | — | Instrument Serif (display), Newsreader, Fraunces (OFL) | — |
| PP Editorial New (Pangram Pangram, commercial) | — | Instrument Serif, Cormorant Garamond, Newsreader (OFL) | Cormorant only ≥ 32px |
| Ivar, Tobias, Signifier, Freight, Caslon, Sabon, Minion (commercial) | TBC (IvarText) | Newsreader, EB Garamond, Source Serif 4 (OFL) | EB Garamond needs +1–2px body size |

## Mono

| Source | Seen on | Free alternative | Notes |
|---|---|---|---|
| Berkeley Mono (US Graphics; licence forbids editors/terminals/OSS apps) | Linear | Geist Mono, JetBrains Mono, Commit Mono (OFL; Commit Mono via `@fontsource` + `next/font/local`) | local mono: `adjustFontFallback: false` |
| Söhne Mono, GT America Mono, Suisse Int'l Mono, ABC Diatype Mono, Aeonik Mono (commercial) | TBC labels | Geist Mono, IBM Plex Mono (OFL) | labels at +0.1–0.15em uppercase via `label-mono` |
| ABC Favorit Mono (Dinamo, commercial) | Arc, Dia | Space Mono, JetBrains Mono (OFL) | — |
| SF Mono, Operator Mono, MonoLisa, Input, PragmataPro (commercial or non-redistributable) | — | JetBrains Mono, Geist Mono, Commit Mono (OFL) | SF Mono only as a fallback stack |

## Display and custom brand faces

| Source | Seen on | Free alternative | Notes |
|---|---|---|---|
| Custom brand faces (CursorGothic, Anthropic Sans/Serif, arcadia, quadrant, melange, "Family", Marlin Soft SQ, Exposure) | Cursor, Anthropic, Mercury, Granola, Family, Arc, Dia | match classification: Geist / Instrument Sans for grotesks, Newsreader / Instrument Serif for serifs, Fraunces for soft serifs, Figtree or Rubik (OFL) for rounded | custom faces are part of trade dress: a different free face is already a departure |
| Mercury's variable intermediates 360/420/480 | Mercury | any variable OFL face (Inter, Geist, Figtree) at 420/480 | intermediate weights are a premium signal worth borrowing |
| PP Right Grotesk / PP Neue Machina (commercial display) | — | Anton, Big Shoulders Display; Space Grotesk / Unbounded (OFL) | poster use only |

## Licence traps

- **Fontshare** (Satoshi, General Sans, Cabinet Grotesk, Clash Display, Switzer): ITF Free Font License, not OFL; forbids subsetting/conversion. Don't use in open-source repos or with `next/font` subsetting.
- **"Free for personal use"** (Pangram Pangram, many foundry trials) is not a web licence for a business site.
- **Google-hosted ≠ always OFL:** Roboto and Roboto Mono are Apache 2.0 (also fine).
- **Adobe Fonts / Typekit** faces can't be self-hosted outside the subscription.
- Custom brand fonts are never available; don't look for mirrors.

## After choosing

1. Add the loader with the direction's CSS variable name (`craft/references/directions.md`), or rename the variable in the direction file consistently.
2. Re-tune `--weight-display` and `--tracking-display` against the source tuple, then compare H1 screenshots side by side.
3. Budget: ≤ 2 families + mono, ≤ 4 files, ≤ 120 KB (`perf/font-budget`).
