Skip to content

Reference · inspire

Proprietary fonts → free alternatives

inspire/references/font-alternatives.md68 linesupdated 16 Sept 2026

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.jsontypography.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).