Google Fonts in China works or fails depending on the network that asks. On
28 August 2026, a probe on an Alibaba Cloud (阿里云) server in
Zhangjiakou got 72 answers out of 72 from fonts.googleapis.com, at a median
111ms. On 30 August a Beijing China Mobile (中国移动) home line got 0 of 54.
Both tests are 21YunBox’s, and neither result is a fluke. Your visitors browse
from home broadband and mobile data, so the second figure is the one to plan
around, and a page that waits on a font host that never answers can sit
blank.
Serve the fonts from your own domain and the question goes away. Every figure below was checked against its source on 6 October 2026.
Google Fonts in China from two networks
21YunBox ran the same probe code from both places and published the results
side by side. Two hostnames carry Google Fonts to a page.
fonts.googleapis.com sends the stylesheet, and the font files it points to
come from fonts.gstatic.com.
| Host | Alibaba Cloud (阿里云), Zhangjiakou | Beijing China Mobile (中国移动) home line | Completions | Verdict | Tested |
|---|---|---|---|---|---|
fonts.googleapis.com | 111ms median TTFB | no answer | 72 of 72 / 0 of 54 | splits by vantage point | 28 and 30 Aug 2026 |
fonts.gstatic.com | 102ms median TTFB | no answer | 72 of 72 / 0 of 6 | splits by vantage point | 28 and 30 Aug 2026 |
From an Alibaba Cloud (阿里云) instance in cn-zhangjiakou, sampled every ten minutes for twelve hours on 28 August 2026 with a 30-second timeout,
fonts.googleapis.comcompleted 72 of 72 requests at a median 111ms time to first byte andfonts.gstatic.com72 of 72 at 102ms. Across 264 page loads on 88 real websites from a Beijing China Mobile (中国移动) residential line on 30 August 2026,fonts.googleapis.comwas requested 54 times and answered none, andfonts.gstatic.comwas requested 6 times and answered none. Source: 21YunBox, A Chinese Cloud Probe Is Not a Chinese Visitor: The Same Hosts, Opposite Answers, August 2026. https://www.21cloudbox.com/a-day-of-third-party-requests-from-inside-china.html
Keep those two columns apart. Each one describes a different network.
“A datacenter line and a consumer line in the same country are not the same network.” Source: 21YunBox, A Chinese Cloud Probe Is Not a Chinese Visitor: The Same Hosts, Opposite Answers, August 2026. https://www.21cloudbox.com/a-day-of-third-party-requests-from-inside-china.html
21YunBox doesn’t say why the home line never got an answer, and no other published test explains it either, so we won’t guess. What the numbers do fix is the shape. One host, two networks, two days apart, and opposite results.
GreatFire’s verdicts, host by host
GreatFire, which monitors censorship in China, tests hostnames from the mainland and dates each verdict. For the two serving hosts its answer matches the datacentre column. Quote that verdict on its own and you get the flat “not blocked” answer, which the home line contradicts.
| Host | What it does | GreatFire verdict | Conclusive tests, last 90 days | Last tested |
|---|---|---|---|---|
fonts.googleapis.com | serves the CSS | not blocked | 0 of 3 disrupted | 7 Sep 2026 |
fonts.gstatic.com | serves the font files | not blocked | 0 of 4 disrupted | 21 Sep 2026 |
fonts.google.com | the catalogue designers browse | 100% disrupted | 2 of 2 disrupted | 30 Sep 2026 |
GreatFire read https://fonts.googleapis.com as not blocked, 0 of 3 conclusive tests disrupted, last tested 7 September 2026, and https://fonts.gstatic.com as not blocked, 0 of 4 disrupted, last tested 21 September 2026. It read https://fonts.google.com as 100% disrupted, 2 of 2 conclusive tests, last tested 30 September 2026, with interference recorded since 15 October 2016. Source: GreatFire, September 2026. https://en.greatfire.org/https/fonts.googleapis.com, https://en.greatfire.org/https/fonts.gstatic.com and https://en.greatfire.org/https/fonts.google.com
The third row is a different animal. fonts.google.com is the catalogue
your designers browse, and no page you publish ever loads it.
Why a stalled stylesheet blanks the page
The standard Google Fonts embed is a stylesheet link in the head of the page, and that position decides what happens when it fails.
A stylesheet link in the head of a page blocks rendering by default, from the moment the browser finds it while parsing the page. Source: MDN Web Docs, The External Resource Link element, last modified 20 May 2026. https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/link
So a request that never answers holds the render until the browser gives up on it. The visitor in Beijing looks at a white screen. From a desk in Frankfurt, and from a monitoring probe in a mainland datacentre, the same page looks fine.
The display=swap parameter in the embed URL can’t help here, because that
instruction travels inside the stylesheet that never arrived.
Self-hosting takes the network out of the question
The fonts in Google’s collection carry open licences, and those licences let you copy the files to your own server.
“Since all the fonts available here are licensed with permission to redistribute, subject to the license terms, you can self-host using a variety of third-party projects.” Most use the SIL Open Font License 1.1, some the Apache 2 licence, and the Ubuntu family the Ubuntu Font License 1.0. Source: Google Fonts repository README, google/fonts on GitHub, last changed 8 March 2024. https://github.com/google/fonts
Four steps, none of them hard:
- Download the woff2 files for the weights you actually use (two or three is normal).
- Put them on your own domain, next to your CSS, and write the
@font-facerules yourself. - Delete the Google stylesheet link and any
preconnecthint pointing atfonts.googleapis.comorfonts.gstatic.com. - Then reload with the network panel open. No request should leave for a Google host.
Don’t skip step 3.
Preconnect starts “part or all of the handshake (DNS+TCP for HTTP, and DNS+TCP+TLS for HTTPS origins)” with an origin before any file is requested from it. Source: MDN Web Docs, rel=preconnect, last modified 22 April 2026. https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/preconnect
A hint left behind keeps sending every visitor’s browser towards the host you just removed. Themes and page builders also add the Google link back on their own. Our guide to the WordPress plugins that break in China covers where that link comes from in a WordPress build.
ChinaWebFoundry serves its own typefaces this way: five woff2 files, three weights of Poppins and two of Inter, on the same server as the pages. The fonts arrive by the same route as the HTML.
Fonts are usually one of several overseas requests on a page. Finding and replacing the others is technical integration work. Start from the list of what the Great Firewall blocks.
Frequently asked
Is Google Fonts blocked in China?
It depends on the network. In 21YunBox’s August 2026 tests both serving hosts answered every request from an Alibaba Cloud (阿里云) datacentre and none from a Beijing China Mobile (中国移动) home line. GreatFire read both as not blocked in September 2026. A one-word answer throws away half of that evidence, so treat the hosted version as unreliable and serve the files yourself.
Does fonts.google.com work in China?
GreatFire recorded interference on both of its last two conclusive tests of
fonts.google.com, the latest on 30 September 2026, and has logged
interference there since 2016. That’s the catalogue where designers pick
typefaces, so it’s a nuisance for a designer working from Shanghai and
invisible to your visitors.
Are there Chinese mirrors of Google Fonts?
Developers in China pass round several mirrors of the Google Fonts API. We found no dated third-party test of any of them, so this page names none and gives no verdict. A mirror also puts somebody else’s uptime between your visitors and your fonts, which self-hosting avoids.
What about Adobe Fonts or Font Awesome?
Both are on our untested list. The latest third-party verdicts on them are more than 90 days old, so we give no verdict either way. The same reasoning applies to any font whose licence lets you host the files. For one that doesn’t, find a dated third-party test of the hosted version before you rely on it.
How do I check whether my site calls Google Fonts?
Search the page source and your stylesheets for fonts.googleapis.com and
fonts.gstatic.com, including inside CSS @import rules. Or run the site
through the China Site Scanner, which lists the third-party hosts your
pages request.
Need help with this?
ChinaWebFoundry handles WordPress projects in China end to end. If any of this feels like more than you want to tackle alone, get in touch.
Talk to Us