Every font CDN, one lookup.
unifont reads font metadata from CDNs: weights, styles, subsets, unicode ranges and @font-face data – the same shape for every provider.
- index
- 2,179 families
- cross-listed
- 1,981
- answering
- 5 providers
Some fonts you might like …
18 families, resolved through google and fontshare at build time, subsetted to the glyphs below and served from here.
- Newsreader
- Instrument Serif
- Fraunces
- EB Garamond
- Bricolage Grotesque
- Space Grotesk
- Switzer
- Spectral
- Cormorant Garamond
- DM Serif Display
- Big Shoulders Display
- Anton
- Cabinet Grotesk
- Erode
- Sentient
- JetBrains Mono
- IBM Plex Mono
- Space Mono
Or build a stack, see what other people have published, or browse the families only npm can resolve.
Consistent font metadata
One shape for every provider
Every font CDN has its own API. unifont provides consistent metadata and @font-face data you can hand straight to the browser.
Runs wherever your code does
It runs anywhere: Node, Bun, Deno, workers, and the browser, via a self-hostable proxy. This site is (of course!) powered by unifont.
… or let a bundler do it
Use fontless in any Vite app, or @nuxt/fonts in Nuxt. They wrap unifont, download and host your fonts, and inject metric fallbacks to reduce layout shift. Or find out how to build the same thing yourself with fontaine.
import { createUnifont, providers } from 'unifont'
const unifont = await createUnifont([
providers.google(),
providers.fontshare(),
])
await unifont.getFontProperties('Switzer')
// → { weights: ['300', …], styles: ['normal', 'italic'], … }Built-in providers
| Provider | Metadata from | Families | Notes |
|---|---|---|---|
google | fonts.google.com | 1,946 | The largest open library. Serves woff2, with a unicode range per subset. |
bunny | fonts.bunny.net | 1,967 | A privacy-minded mirror of the Google library. Same families, different CDN. |
fontshare | api.fontshare.com | 100 | Indian Type Foundry’s library, free for commercial use. |
fontsource | api.fontsource.org | 2,100 | Open fonts packaged for npm, served from jsDelivr. |
googleicons | fonts.google.com | 8 | Material Symbols, as variable icon fonts. |
adobe | typekit.com | — can’t be listed | Needs a Typekit project id, so this site can't ask it on your behalf. |
npm | jsDelivr | 27 | Any font published to npm. The registry cannot be listed, so the catalogue carries a curated set the font CDNs do not. |