Google Fonts and GDPR: 3 in 8 Polish sites load them
Three in eight Polish homepages load fonts from Google's servers, and few visibly wait for consent. On WordPress, a blocking load goes with a slower LCP.

38% of the popular Polish homepages we read, about three in eight, load fonts from Google's servers rather than their own, and 30% do it with a stylesheet that holds up rendering. Of the 7,785 we read, we could see only 21 wait for the visitor's consent first, a floor rather than an exact count. On WordPress sites it shows in loading: those with a blocking Google Fonts stylesheet have a median phone LCP 178ms slower than those without Google Fonts. On other sites we found no difference.
We read the homepages of every .pl site in the Tranco list of popular sites (opens in a new tab) that answered with HTML, the same sample as our studies of third-party scripts, CDN market share in Poland and who draws the cookie consent banner, and looked each site up in the Chrome UX Report (opens in a new tab), Google's record of how fast sites load for real Chrome users.
- 7,785
- 38%
- 30%
- 21
What is Google Fonts and how do sites load it?
Google Fonts (opens in a new tab) is Google's free library of web fonts. The usual way to use it is a line Google gives you to paste into the page: a <link> to a stylesheet on fonts.googleapis.com, which in turn points the browser at the font files on fonts.gstatic.com. Every visit then opens connections to two Google domains, and the visitor's browser sends Google its IP address along with the request.
We sorted every homepage by the way it asks Google for fonts, first match wins:
- Render-blocking: a stylesheet link or an
@import. The browser waits for the CSS before it draws anything. - Not blocking: the stylesheet loaded with the
media="print"trick or a preload,@font-facerules pointing straight at the font files, a preloaded font file, or a script such as Web Font Loader. - After consent: the same, held back by a consent platform until the visitor agrees.
- Only a preconnect: a hint to connect to Google's font hosts, and no font request we could see.
How many Polish sites load Google Fonts?
2,352 homepages (30%) load Google Fonts with a render-blocking stylesheet and another 579 (7.4%) without blocking. Counting the homepages that only connect to Google, 41% of them have the browser contact Google's font servers.
The most popular sites use Google Fonts less: 24% of the 100 most popular .pl sites and 32% of the next 900, against 39% of the rest. The top 100 and the next 900 aren't clearly apart from each other; both are apart from the rest.
The most popular Polish sites load Google Fonts less often than the rest
How .pl homepages ask Google's servers for fonts, by rank in the sample · n per row in the table
- Loads, blocking rendering
- Loads, not blocking
- Only after consent
- Only connects (preconnect)
- No request to Google
Show the data
| Item | Loads, blocking rendering | Loads, not blocking | Only after consent | Only connects (preconnect) | No request to Google | n |
|---|---|---|---|---|---|---|
| All homepages | 30% | 7.4% | 0.3% | 3.8% | 58% | 7,785 |
| Top 100 | 14% | 10% | 0% | 4% | 72% | 100 |
| Ranks 101–1,000 | 23% | 8.6% | 0.9% | 2.7% | 65% | 900 |
| Below 1,000 | 31% | 7.3% | 0.2% | 3.9% | 57% | 6,785 |

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.
Public administration is no exception. Of the 84 gov.pl homepages in the sample, 31 load Google Fonts (37%), most of them with a blocking stylesheet. Online shops load them a little more often than other sites.
Public administration sites load Google Fonts about as often as everyone else
Share of .pl homepages loading fonts from Google's servers, by kind of site · 95% intervals
Show the data
| Item | Value | 95% interval | n |
|---|---|---|---|
| Online shops | 42% | 40%–44% | 2,172 |
| Public administration (gov.pl) | 37% | 27%–48% | 84 |
| Other sites | 36% | 35%–37% | 5,529 |

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.
Half of WordPress sites load Google Fonts
The shares spread wider by software than by kind of site. 54% of WordPress sites that aren't shops load Google Fonts, and about half of WooCommerce, PrestaShop and Shoper shops, against 24% on Shopify and 26% on IdoSell. We didn't record which theme each site runs, so the data can't say why.
Half of WordPress sites load Google Fonts; a quarter of Shopify and IdoSell shops do
Share of .pl homepages loading fonts from Google's servers, by software · WordPress counts sites that aren't shops · 95% intervals
Show the data
| Item | Value | 95% interval | n |
|---|---|---|---|
| WordPress (not a shop) | 54% | 52%–57% | 1,389 |
| WooCommerce | 51% | 46%–56% | 384 |
| PrestaShop | 49% | 45%–53% | 557 |
| Shoper | 48% | 42%–55% | 227 |
| Other shops | 38% | 34%–42% | 474 |
| Magento | 32% | 26%–38% | 202 |
| Other sites | 30% | 29%–32% | 4,208 |
| IdoSell | 26% | 20%–32% | 217 |
| Shopify | 24% | 17%–32% | 127 |

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.
Shoper stands out in another way: 47% of Shoper shops carry a preconnect to Google's font hosts without any Google Fonts request we could see; we didn't check whether Shoper's templates add it. A preconnect only opens a connection, but that is still a request to Google with the visitor's IP address.
Which Google Fonts do Polish sites use?
Roboto and Open Sans, each on about a fifth of the homepages loading Google Fonts, followed by Poppins, Montserrat and Lato, close to each other. 122 families appear on at least five homepages each. Of the homepages with a Google Fonts CSS URL, the median asks for one family, but 22% ask for three or more.
Roboto and Open Sans are on a fifth of the sites loading Google Fonts each
Share of .pl homepages loading Google Fonts that ask for each family, the 15 most common · 95% intervals
Show the data
| Item | Value | 95% interval | n |
|---|---|---|---|
| Roboto | 22% | 20%–23% | 2,931 |
| Open Sans | 21% | 20%–22% | 2,931 |
| Poppins | 13% | 12%–14% | 2,931 |
| Montserrat | 12% | 10%–13% | 2,931 |
| Lato | 11% | 9.9%–12% | 2,931 |
| Inter | 7.7% | 6.8%–8.7% | 2,931 |
| Roboto Slab | 5% | 4.3%–5.9% | 2,931 |
| Oswald | 3.9% | 3.2%–4.6% | 2,931 |
| Roboto Condensed | 3.8% | 3.2%–4.5% | 2,931 |
| Raleway | 3.6% | 3%–4.4% | 2,931 |
| Playfair Display | 3.3% | 2.7%–4% | 2,931 |
| Rubik | 3.1% | 2.5%–3.8% | 2,931 |
| Source Sans Pro | 2.5% | 2%–3.1% | 2,931 |
| Material Icons | 2.4% | 1.9%–3% | 2,931 |
| Ubuntu | 2.2% | 1.7%–2.8% | 2,931 |

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.
Many requests are old. 56% of homepages with a Google Fonts URL still use the first version of the API (/) rather than css2, and 36% make two or more separate requests, often one per family, where one would do. 41% have at least one URL without the display parameter, which leaves the text invisible while the font loads: web.dev's guide to font best practices (opens in a new tab) says that without font-display, Chromium and Firefox block text for up to three seconds.
Do Google Fonts slow down a website?
To see whether it shows, we compared the median 75th-percentile LCP (Largest Contentful Paint, the moment the main content appears) on phones of sites that load Google Fonts in each way against sites that load none.
On WordPress, the gap is clear: 1.99s with a blocking stylesheet against 1.81s without Google Fonts, a difference of 178ms (95% interval 73ms to 292ms). First Contentful Paint is 121ms slower too. 74% of those sites pass LCP on phones, against 79% of WordPress sites without Google Fonts.
On other sites there is no gap: 1.68s against 1.68s. And loading Google Fonts without blocking goes with no slower LCP on either.
On WordPress, a blocking Google Fonts stylesheet goes with a slower LCP; elsewhere it doesn't
Median p75 LCP on phones (the whole site, as CrUX measures it), in seconds, by how the homepage loads Google Fonts · dot: median, line: 95% interval · shading: Google's thresholds · CrUX, 28 days to 22 Sept 2026
Show the data
| Item | Value | Range | n |
|---|---|---|---|
| WordPress: No Google Fonts | 1.81s | 1.73s–1.9s | 636 |
| WordPress: Google Fonts, blocking | 1.99s | 1.92s–2.07s | 568 |
| WordPress: Google Fonts, not blocking | 1.71s | 1.61s–1.83s | 135 |
| Other sites: No Google Fonts | 1.68s | 1.66s–1.71s | 2,906 |
| Other sites: Google Fonts, blocking | 1.68s | 1.63s–1.72s | 1,219 |
| Other sites: Google Fonts, not blocking | 1.7s | 1.62s–1.77s | 362 |

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.
Among sites with a blocking stylesheet, those asking for three or more families have a slower median LCP than those asking for one: 1.85s against 1.71s, with 1.8s for two families in between. The intervals of neighbouring groups overlap, and the groups mix WordPress and other sites.
Blocking stylesheets with three or more families go with a slower LCP than those with one
Median p75 LCP on phones, in seconds, of sites loading Google Fonts with a render-blocking stylesheet, by families requested · dot: median, line: 95% interval · CrUX, 28 days to 22 Sept 2026
Show the data
| Item | Value | Range | n |
|---|---|---|---|
| One family | 1.71s | 1.66s–1.77s | 898 |
| Two families | 1.8s | 1.73s–1.87s | 501 |
| Three or more | 1.85s | 1.8s–1.94s | 388 |

The chart as an image, free to reuse under CC BY 4.0 with credit to Outofplace and a link to this page.
Is Google Fonts GDPR compliant?
On 20 January 2022 the Munich Regional Court (LG München I, 3 O 17493/20) (opens in a new tab) ruled against a site that passed a visitor's dynamic IP address to Google by embedding Google Fonts. The court held that the IP address is personal data for the site's operator and that there was no legitimate interest under Article 6(1)(f) GDPR, because the fonts can be used without the browser connecting to a Google server at all. It ordered the operator to stop, under a fine of up to €250,000, and to pay the visitor €100 in damages.
That is one German first-instance judgment, not an EU court ruling, and we found no position on Google Fonts from Poland's data protection authority (UODO). It is still the clearest court ruling on the question we could find.
Google's Fonts FAQ (opens in a new tab) (read on 22 October 2026) says the Google Fonts API "does not set or log cookies", that requests include the IP address, the requested URL and HTTP headers such as the user agent and referer, and that Google does not use the data "to create profiles of end users or for targeted advertising". It also says you can host the fonts yourself.
On the Polish web, consent rarely visibly comes into it. We could see 21 homepages hold Google Fonts back until the visitor agrees (one of the eight we checked by hand turned out not to); 2,931 load them with no consent gate our rules detect. Our rules miss some ways of gating a load (below), so the first number is a floor. Asking for consent is one way to deal with this; hosting the fonts yourself avoids the question entirely.
Self-hosted fonts vs Google Fonts: which is faster?
The old argument for Google's servers was a shared cache: a visitor who had Roboto from one site wouldn't download it again on the next. In Chrome, that ended in 2020. Chrome has partitioned its HTTP cache since Chrome 86 (opens in a new tab), keyed by the site the visitor is on, and Google's own announcement names fonts among the resources that may now be downloaded more often.
What's left for Google's servers is good compression, subsetting and a fast CDN; what's left against them is two extra connections before the text can appear. web.dev's guide to font best practices calls the comparison "less clear cut" than it used to be, and recommends that sites using a third-party font service at least preconnect to it. Of the homepages linking Google Fonts, 47% preconnect to fonts.gstatic.com, and 142 of those leave out crossorigin, which web.dev says the font connection needs, so the browser opens a second one anyway.
Many sites already host fonts themselves: 26% of homepages serve a font file from their own domain, and 346 carry the trace of a self-hosting plugin or tool, such as Elementor's local fonts or webfonts-helper paths.
How to self-host Google Fonts
List what you load
Open the homepage in Chrome with DevTools, filter the Network panel to Font and CSS, and note every request to
fonts.googleapis.comandfonts.gstatic.com. Check the theme, page builder and plugins too: they often add their own.Download only what you use
Get the WOFF2 files of the families, weights and styles the site really shows, with the latin-ext subset for Polish characters. Every weight is a separate file; most sites need two to four.
Serve them from your domain
Put the files on your own server and write
@font-facerules pointing at them, withfont-display: swapso the text shows in a fallback font while the file loads. Preload the one or two files the first screen needs.Remove every link to Google
Delete the
<link>,@importand preconnect lines for Google's font hosts. On WordPress, a self-hosting plugin or the theme's "load fonts locally" option does this; check the page source afterwards, because a plugin may still add its own.Measure again after four weeks
Look up the site in PageSpeed Insights (opens in a new tab). The field data at the top covers a rolling 28 days, so the change shows in full after four weeks.
If you keep Google's servers, at least add display=swap to every URL, merge the families into one css2 request, and preconnect to fonts.gstatic.com with crossorigin.
| Sites | Homepages | Load from Google | Of all, blocking |
|---|---|---|---|
| Other sites | 5,529 | 36% | 30% |
| Other sites | 4,208 | 30% | 25% |
| Online shops | 2,172 | 42% | 32% |
| WordPress (not a shop) | 1,389 | 54% | 45% |
| PrestaShop | 557 | 49% | 41% |
| Other shops | 474 | 38% | 30% |
| WooCommerce | 384 | 51% | 39% |
| Shoper | 227 | 48% | 22% |
| IdoSell | 217 | 26% | 24% |
| Magento | 202 | 32% | 27% |
| Shopify | 127 | 24% | 17% |
| Public administration (gov.pl) | 84 | 37% | 30% |
How we measured
How we checked the classification
We drew 8 homepages from each mode, plus 8 classified as not loading Google Fonts whose HTML still names a Google font host, in a fixed random order, and read the HTML behind every one. 36 of the 40 were right, all 8 render-blocking ones among them. The misses: a form app's template stored in a JSON config, Web Font Loader's own code inlined with no families, a script that skips Lighthouse rather than waiting for consent, and a stylesheet a script copies out of a <noscript> block. An earlier sample shaped the rules for lazy and consent-gated links and isn't counted.
What this data can't tell you
We saw the homepage only, as its HTML arrived, and ran none of it. Fonts requested from a site's own CSS files or added by scripts and widgets are invisible, so the shares here are floors. A homepage with only a preconnect may load Google Fonts from CSS we didn't read, or may carry a leftover hint. Homepages longer than 1 MiB were cut there (331 of them). The field data covers every page of a site, not just the homepage. And every speed difference here is a correlation: sites that load Google Fonts also differ in theme, hosting and build.
Is Google Fonts GDPR compliant?
It depends on how a site uses it. In January 2022 the Munich Regional Court ruled that a site which passed a visitor's IP address to Google by embedding Google Fonts, without consent, broke the GDPR, because the fonts can be used without connecting to Google at all (LG München I, 3 O 17493/20). That is one German first-instance judgment, not an EU ruling, and we found no position from the Polish data protection authority. Google says the Fonts API sets no cookies and doesn't use the data to profile visitors. Of the Polish homepages we read, we could see 21 wait for consent before loading Google Fonts, a floor since our rules miss some ways of gating a load; 2,931 load them with no consent gate we could detect.
Does Google Fonts collect IP addresses?
Google receives them. Its Fonts FAQ says requests to the Fonts API include the visitor's IP address, the requested URL and HTTP headers such as the user agent and referer, and that Google does not use this data to build profiles of end users or for targeted advertising. A preconnect alone already opens a connection to Google: 41% of Polish homepages make the browser contact Google's font servers.
Do Google Fonts slow down a website?
A render-blocking Google Fonts stylesheet can. On Polish WordPress sites, those that load one have a median phone LCP 178ms slower than those that load no Google Fonts. On other sites we found no difference, and loading the stylesheet without blocking showed no difference anywhere. It's a correlation, not proof that the fonts cause it.
Self-hosted fonts vs Google Fonts: which is faster?
Usually self-hosting, though Google's own web.dev guide calls it "less clear cut". Since Chrome 86 (2020) the browser's cache is partitioned by site, so a font cached on one site is downloaded again on the next, and the old argument for a shared CDN is gone. Self-hosting saves the connections to two Google domains; Google's servers may still compress and subset better than yours.
How do I self-host Google Fonts?
Download the font files (WOFF2) of the families and weights you use, put them on your own server, write @font-face rules with font-display: swap pointing at them, preload the one or two files the first screen needs, and remove every link, @import and preconnect to fonts.googleapis.com and fonts.gstatic.com. On WordPress, a self-hosting plugin or your theme's local fonts option does the same.
Can you self-host Google Fonts?
Yes. Google's Fonts FAQ says you can host the fonts yourself; they are published under open-source licences. Many Polish sites already do: we found self-hosting plugins' traces on hundreds of homepages.