an open-source Google Fonts alternative

Google Fonts is the default free font CDN with a huge catalog and excellent reliability. onlyfonts serves open-source fonts through the same css2 URL format, but EU-hosted and without sending your visitors' IP addresses to Google — plus semantic search, font identification, and pairing tools Google doesn't have. For fonts in both catalogs, switching is a one-hostname change.

side by side

Google Fontsonlyfonts
pricefreefree
css2 URL formatyesyes — drop-in compatible
visitor IP handlingrequests hit Google servers; courts have treated this as personal-data transferEU edge, no tracking, cookie-free
searchname and keywordsemantic (ML on visual appearance) + image identification
pairing suggestionsstatic "popular pairings"scored pairing engine per font
catalog~1,800 families, Google-curated2,600+ open-source families incl. non-Google sources
subsettingunicode-range + text= parameterunicode-range (no text= yet)
APImetadata API (key required)public REST API: search, suggest, pairings, metadata

pick Google Fonts if

  • you need a font that is only on Google Fonts
  • you want the most battle-tested font CDN in existence
  • GDPR exposure is not a concern for your audience

pick onlyfonts if

  • you serve EU visitors and want fonts without consent-banner implications — German courts have fined sites for embedding Google Fonts (LG München, 2022)
  • you want to find fonts by describing them ("warm editorial serif") or by screenshot, not by scrolling
  • you want fonts beyond the Google catalog (indie foundries, Ukrainian type, experimental faces)

migrating

For fonts in both catalogs, change the hostname and keep everything else:

<!-- before -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap" rel="stylesheet">

<!-- after -->
<link href="https://cdn.onlyfonts.ai/css2?family=Inter:wght@400;700&display=swap" rel="stylesheet">

questions

Is onlyfonts really compatible with Google Fonts URLs?

Yes. The /css2 endpoint parses the same family syntax: weights (wght@400;700), italics (ital,wght@0,400;1,400), variable ranges (wght@300..800), multiple families, and the display parameter.

Why is embedding Google Fonts a GDPR problem?

Loading fonts from fonts.googleapis.com transmits each visitor's IP address to Google. In 2022 a German court (LG München) ruled this a GDPR violation without prior consent. onlyfonts serves fonts from EU infrastructure without logging visitor identity.

Are the fonts the same files?

Both serve the upstream open-source fonts as woff2 with unicode-range subsets. onlyfonts processes fonts independently from upstream sources, so versions can differ slightly from Google's builds.

try it

search the catalog by description or screenshot, or read getting started — loading a font takes one link tag.