Free tool

Do your fonts load from Google?

Enter the address of a page. We fetch it once, read its HTML and tell you whether it loads fonts from Google’s servers, which families it uses, and whether your fonts look self-hosted.

One page per check, read the way the server sends it. We don’t store the address or the result.

Four possible answers

What you get back

Loads fonts from Google

The page fetches fonts from Google’s servers as it loads, so each visitor’s IP address goes to Google. Hosting the files yourself stops that.

Connects to Google, no fonts found

The page prepares a connection to Google Fonts, and its HTML loads no Google font. Remove the hint, or find the script or CSS file that uses it.

Fonts look self-hosted

The fonts in this page’s HTML come from its own domain, and nothing in the HTML loads them from Google.

No Google Fonts found

Nothing in the HTML loads fonts from Google or connects to Google Fonts. The reasons below say what the HTML does show about the page’s fonts.

Each answer comes with its reasons: the font families the page loads from Google, where in the HTML we found them, and the fonts it serves from its own domain or from other services.

How it works

What we check, and how to fix it

When you press the button, our server fetches the page once and reads the HTML that comes back, with the same limits as our cookie banner checker: up to 3 redirects, each new address checked before we go there, 8 seconds and 1.5 MB at most. In that HTML we look for:

  • stylesheet links and preloads for fonts.googleapis.com, the address in Google’s own embed code;
  • @import rules for fonts.googleapis.com in the page’s <style> blocks;
  • font files from fonts.gstatic.com, in a preload or an @font-face rule;
  • Google’s Web Font Loader, and inline scripts that add a Google Fonts address;
  • preconnect and dns-prefetch hints to either Google host.

The family names come from those addresses. Font files and @font-face rules on the page’s own domain count as self-hosted. Adobe Fonts, Bunny Fonts and font files on other domains show up separately, because they also send the visitor’s IP address to another company.

Why it matters in the EU

A font from Google’s servers loads with the page, before the visitor has done anything, and each request carries the visitor’s IP address to Google. Google says its Fonts API sets no cookies, so this is mainly a GDPR question: may a site share an IP address, which can be personal data, with Google without asking?

On 20 January 2022 the Munich Regional Court (LG München I, case 3 O 17493/20) ruled that a site which loaded Google Fonts from Google without the visitor’s consent had broken the GDPR, and ordered its owner to pay that visitor €100 in damages. It’s one ruling by one German court, and this page is general information, not legal advice. Our guide on Google Fonts and the GDPR has the details and sources.

How to host Google Fonts yourself

  1. Find every place that loads them. Search your templates, theme and CSS files for fonts.googleapis.com and fonts.gstatic.com. On WordPress, look in the theme’s and page builder’s settings too: some add their own link, and some can host the fonts for you.
  2. Download the files. Get the families from Google Fonts, or install them from Fontsource, which publishes open-source fonts as npm packages. WOFF2 files cover every current browser.
  3. Put them on your site, for example in /fonts/, and point an @font-face rule at each file.
  4. Remove the Google stylesheet link, any @import, and the preconnect and dns-prefetch hints to both Google hosts.
  5. Preload the one or two files the first screen needs. A font preload needs the crossorigin attribute, even on your own domain.
  6. If your site sends a Content-Security-Policy, set font-src 'self'. A Google font you missed is then blocked, and the browser console names it.
  7. Run this check again, and open the Network tab in your browser’s developer tools, filtered on Font, to see what still loads.
A self-hosted font
@font-face {
  font-family: "Inter";
  src: url("/fonts/inter-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: "Inter", system-ui, sans-serif;
}
<link rel="preload" href="/fonts/inter-latin.woff2" as="font" type="font/woff2" crossorigin>

What this check can’t see

  • Fonts that scripts add after the page loads. We don’t run JavaScript, so a theme, page builder or widget that adds Google Fonts with a script can slip past.
  • @import rules inside separate CSS files. We read the HTML, not the stylesheets it links to.
  • Other pages of the site, which can use other templates and other fonts.

Gatelamp’s site scanner does the full version: a real browser, every page, and every request to another domain with the script that caused it.

What we store

Nothing. The address you enter goes to our server, which fetches that one page and sends the result back to your browser. We don’t keep the address or the result, and we don’t log them. The site you check sees one visit from Cloudflare’s network, with our checker’s name in the user agent. More in the privacy policy.

Google Fonts: common questions

Is Google Fonts allowed under the GDPR?
No law names Google Fonts. The question is whether a site may send each visitor’s IP address to Google without asking. In January 2022 a regional court in Munich ruled that one site owner broke the GDPR this way, and other courts aren’t bound by that ruling. Hosting the fonts yourself avoids the question. This is general information, not legal advice.
Does Google Fonts set cookies?
Google says its Fonts API sets no cookies. The browser still fetches the stylesheet and the font files from Google’s servers, and every request carries the visitor’s IP address. That makes it mainly a question about sharing data with Google, more than a cookie question.
Is a preconnect to fonts.gstatic.com a problem?
It can be. A preconnect tells the browser to open a connection to Google’s server as the page loads, before any font is requested, and that connection already shows Google the visitor’s IP address. If your fonts are self-hosted, remove the hint.
Why doesn’t the checker see all my fonts?
It reads the HTML the server sends. Fonts that a script adds later, and @import rules inside separate CSS files, aren’t in that HTML. Open your browser’s developer tools, go to the Network tab, filter on Font and reload to see every font the page loads.
What happens to the address I enter?
Our server fetches that one page and sends the result to your browser. We don’t store the address or the result, and we don’t log them. To stop abuse, Cloudflare counts how many checks come from one IP address per minute.

General information about the rules, not legal advice. A page we got wrong? Tell us.

Read and use next

Where Gatelamp helps

Early access

Switch on early.

Join the waitlist for Gatelamp. We invite people in small groups, and waitlist members get the early price.