unifont
  • All fonts Browse or filter the whole catalogue
  • Compare providers One family, every CDN, side by side
  • Documentation Install, providers, custom providers
  • HTTP API The endpoints this site is built on

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
Read the docs

Some fonts you might like …

18 families, resolved through google and fontshare at build time, subsetted to the glyphs below and served from here.

Browse the whole catalogue →

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.

npm i unifont
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
googlefonts.google.com1,946The largest open library. Serves woff2, with a unicode range per subset.
bunnyfonts.bunny.net1,967A privacy-minded mirror of the Google library. Same families, different CDN.
fontshareapi.fontshare.com100Indian Type Foundry’s library, free for commercial use.
fontsourceapi.fontsource.org2,100Open fonts packaged for npm, served from jsDelivr.
googleiconsfonts.google.com8Material Symbols, as variable icon fonts.
adobetypekit.com can’t be listedNeeds a Typekit project id, so this site can't ask it on your behalf.
npmjsDelivr27Any font published to npm. The registry cannot be listed, so the catalogue carries a curated set the font CDNs do not.

Provider documentation · Create your own provider

Where to go next

Catalogue
Every family the providers will list. Search it, or filter by provider.
Compare
Ask every provider for the same family and see how the answers differ.
Docs
Install it, resolve a family, cache the results, write your own provider.
API
Every page here is an HTTP endpoint you can call yourself.