Most Popular Website Fonts: What the Top 1,000 Sites Use in 2026

Author: Lucky Oleg | Published Updated

No single font rules the web’s busiest homepages. We loaded the homepages behind the top 1,000 domains of the Tranco ranking on 26 September 2026 and measured 511 distinct homepages. Inter drew most of the body text on 41 of 511 (8%), the operating system’s own UI font on 38 (7%), and Arial on 29 (6%). Altogether, 213 different families served as the main body font, and 159 homepages used a body font that no other measured homepage used.

We also recorded what each page’s CSS declares, and that tells a different story. Arial is named somewhere in the CSS of 443 of 511 (87%) homepages, yet it draws the main body text on only 29 (6%). If you want to know what visitors actually see, you have to look at what the browser renders, not at the stylesheet.

This page shares the results, the method, the limits and the full dataset. Percentages are shares of the 511 measured homepages unless another n is given.

Key Findings

  • Inter and the system UI font lead, narrowly. Inter (41, 8%) and the system UI font (38, 7%) are the most common main body fonts, ahead of Arial (29, 6%), Open Sans (26, 5%) and Roboto (26, 5%).
  • The long tail is long. The ten most common families cover 223 of 511 (44%) homepages. 159 of the 213 body families appear on a single homepage, many of them custom or licensed brand fonts.
  • Most homepages use a web font for body text. 387 of 511 (76%) homepages set their body text in a web font, 38 (7%) in the system UI font and 86 (17%) in another installed font, mostly Arial, Helvetica or, on Chinese sites, PingFang SC.
  • Declared is not rendered. The median homepage names 13 font families in its CSS but draws its visible text in 2. Consolas, a Windows code font, is named by 220 (43%) homepages and drew no visible text at all in our crawl.
  • Self-hosting beats Google Fonts. 396 of 511 (77%) homepages downloaded font files from their own domain or CDN, 108 (21%) from Google Fonts servers (including Google’s own sites) and 9 (2%) from Adobe Fonts. 68 (13%) downloaded no font files at all.
  • Sans-serif everywhere. Sans-serif families are the main body font on 486 of 511 (95%) homepages. Serif body text is rare (19, 4%), and about half of it is on news sites.

Choosing for your own site? Our guide on how to choose fonts turns these numbers into a shortlist by job, judged on legibility, weights, languages, licence and file size. To see what another site uses, check which fonts a site uses with our free Website Font Checker.

The Most Common Body Fonts

The table counts the family that drew the most visible characters outside h1 to h3 headings on each homepage. The “Type” column says how the font reached the screen: a downloaded web font looks the same on every device, while the system UI font and other installed fonts depend on the visitor’s operating system. Our results for those two rows are what a Mac shows.

Main body fontHomepages (n = 511)Type
Inter41 (8%)Web font
System UI font38 (7%)System UI font
Arial29 (6%)Installed font
Open Sans26 (5%)Web font
Roboto26 (5%)Web font
Source Sans15 (3%)Web font
PingFang SC13 (3%)Installed font
Helvetica Neue12 (2%)Installed font
Proxima Nova12 (2%)Web font
Helvetica11 (2%)Installed font
Lato9 (2%)Web font
Poppins9 (2%)Web font
Segoe UI8 (2%)Web font
Google Sans5 (1%)Web font
Times5 (1%)Installed font

A few examples from the dataset: Inter is the body font of wordpress.org, wordpress.com, zoom.us, epicgames.com, twitch.tv and cisco.com. The system UI font runs Instagram, LinkedIn, Wikipedia and ChatGPT’s homepage. Arial still carries the body text of Google’s homepage, Amazon and Mail.ru. Roboto is YouTube’s body font, and all 8 Segoe UI homepages belong to Microsoft.

Below the top 15, the list gets personal fast. It includes brand families such as Airbnb Cereal, GitHub’s Mona Sans, OpenAI Sans, Anthropic Sans, the BBC’s Reith fonts, Spotify Mix and TikTok’s own family, and licensed commercial families such as Söhne (Stripe and Medium) and Graphik. For many of the web’s biggest brands, typography is part of the identity, not a default.

For a closer look at individual brands, our 28 October 2026 follow-up checks explain Discord’s gg sans announcement and rendered Ginto website fonts and Spotify Mix in the public web player. Those dated page checks are separate from this September dataset.

The Most Common Heading Fonts

Headings tell the same story with a little more variety. 458 of 511 (90%) homepages had visible h1 to h3 text; the table uses that n.

Main heading fontHomepages (n = 458)Type
System UI font27 (6%)System UI font
Inter21 (5%)Web font
Open Sans20 (4%)Web font
Roboto18 (4%)Web font
Arial16 (3%)Installed font
Montserrat11 (2%)Web font
Poppins10 (2%)Web font
Google Sans9 (2%)Web font
PingFang SC9 (2%)Installed font
Proxima Nova9 (2%)Web font
Helvetica Neue8 (2%)Installed font
Source Sans8 (2%)Web font

326 of 458 (71%) homepages with headings use the same family for headings and body text. Some well-known pairings: Google pairs Arial body text with Google Sans headings, Amazon pairs Arial with Amazon Ember Modern, Wikipedia pairs the system UI font with Georgia, and wordpress.org pairs Inter with EB Garamond.

Declared vs Rendered: What the CSS Asks For and What Visitors See

A CSS font-family value is a list of wishes: “use this family if you have it, otherwise the next one”. Stylesheets also carry font stacks for code blocks, other languages, email widgets and third-party embeds. So the families declared in a page’s CSS and the families rendered on screen are two very different lists.

Named in the CSS vs used for the main body textShare of the 511 measured homepages, for the ten most declared text families. Exact counts are in the table below.
Arial: named in the CSS of 87% of homepages, main body font on 6%Helvetica: named in the CSS of 71% of homepages, main body font on 2%Helvetica Neue: named in the CSS of 59% of homepages, main body font on 2%Roboto: named in the CSS of 58% of homepages, main body font on 5%System UI font: named in the CSS of 55% of homepages, main body font on 7%Segoe UI: named in the CSS of 44% of homepages, main body font on 2%Noto Sans: named in the CSS of 24% of homepages, main body font on 0.8%Verdana: named in the CSS of 22% of homepages, main body font on 0%Inter: named in the CSS of 20% of homepages, main body font on 8%Georgia: named in the CSS of 20% of homepages, main body font on 0.2%
FamilyNamed in the CSSDrew any visible textMain body font
Arial443 (87%)65 (13%)29 (6%)
Helvetica362 (71%)37 (7%)11 (2%)
Helvetica Neue302 (59%)31 (6%)12 (2%)
Roboto298 (58%)35 (7%)26 (5%)
System UI font279 (55%)69 (14%)38 (7%)
Segoe UI224 (44%)8 (2%)8 (2%)
Consolas220 (43%)0 (0%)0 (0%)
Courier New196 (38%)1 (0.2%)0 (0%)
Monaco195 (38%)3 (0.6%)2 (0.4%)
Menlo177 (35%)10 (2%)0 (0%)
SF Mono146 (29%)0 (0%)0 (0%)
Liberation Mono141 (28%)0 (0%)0 (0%)
Noto Sans123 (24%)6 (1%)4 (0.8%)
Verdana110 (22%)2 (0.4%)0 (0%)
Inter103 (20%)49 (10%)41 (8%)
Georgia100 (20%)9 (2%)1 (0.2%)

Four patterns stand out:

  • Safe fallbacks are everywhere, and rarely used. Arial, Helvetica and Helvetica Neue sit at the end of most stacks as insurance. On our Mac, Helvetica Neue drew visible text on 31 (6%) homepages although 302 (59%) named it.
  • System stacks are common in CSS, rarer as the body font. A system UI keyword such as system-ui or -apple-system appears in the CSS of 279 (55%) homepages; the system UI font drew the main body text on 38 (7%). Segoe UI (224, 44%) and Roboto (298, 58%) are the Windows and Android UI fonts and appear in many of the same stacks, so on those systems some of these homepages would render them where our Mac could not.
  • Inter is rarely just a fallback. Inter is named by 103 (20%) homepages, and 49 of them draw visible text with it (48% of those that declare it). For Arial the same rate is 15%.
  • The first family is not always the one you see. On our Mac, 26 of 511 (5%) homepages drew their main body text without using the first family in its CSS stack, mostly because that family was a Windows font such as Segoe UI or Microsoft YaHei, or a web font that never loaded. 13 (3%) drew it in a font their stack does not name at all, the browser’s default.

The same gap shows up for web fonts. The median homepage declares 2 web font families (through @font-face rules or the JavaScript FontFace API), loads 1 and draws visible text in 1. Of the 453 homepages that declare web fonts, 307 (68%) declare at least one family that no visible homepage text used. That is not automatically waste: the family may serve other pages or languages, and browsers normally download a web font only when some text needs it.

Web Fonts, System Fonts and Installed Fonts

How the font reached the screenMain body font (n = 511)Main heading font (n = 458)
Web font387 (76%)382 (83%)
System UI font38 (7%)27 (6%)
Installed font86 (17%)49 (11%)

Three quarters of these homepages download a font so their text looks the same everywhere. The rest leave the choice to the device:

  • The system UI font is what system-ui, -apple-system and BlinkMacSystemFont ask for. It is San Francisco on a Mac or iPhone, Segoe UI on Windows and Roboto on Android. It costs nothing to load and feels native; Instagram, LinkedIn and Wikipedia are among the homepages that use it.
  • Other installed fonts are named families that already live on the device. On our Mac the most common were Arial (29), PingFang SC (13), Helvetica Neue (12), Helvetica (11) and Times (5). On a Windows PC the same stacks could render Arial, Segoe UI or Microsoft YaHei instead, so treat these rows as a Mac snapshot, not a universal result.

Where the Fonts Come From

We classified every font file a homepage downloaded by its host. A homepage can use several sources, so the shares add up to more than 100%.

Font file sourceHomepages (n = 511)
Own domain or own CDN (self-hosted)396 (77%)
Google Fonts (fonts.gstatic.com)108 (21%)
Other font services (Font Awesome, Monotype, Bunny Fonts and others)10 (2%)
Adobe Fonts (Typekit)9 (2%)
Public open-source CDNs (jsDelivr, cdnjs, unpkg)3 (0.6%)
No font files downloaded68 (13%)

Self-hosting is the norm at this level. Large sites run their own CDNs, many use commercial or custom fonts that free font services do not offer, and self-hosting avoids an extra connection to a third-party server. The Google Fonts count includes Google’s own properties, such as google.com and youtube.com, which load Google Sans and Roboto from the same servers. Adobe Fonts appeared on 9 homepages, including mit.edu, princeton.edu, cornell.edu, doi.org and behance.net.

A further 115 (23%) homepages embed at least one font directly in their CSS as a data: URI. We report them separately because we cannot tell whether those embedded fonts were used.

How Many Fonts Does a Top Homepage Load?

MeasureMedian90th percentilen
Font families drawing visible text23511
Font families named in the CSS1328511
Font files downloaded49511
Font data downloaded, where any (KB)172614443

Most popular homepages are disciplined: two families, a handful of files. The heavy end is real, though: one in ten homepages that downloaded fonts pulled more than 614 KB of font data.

For loading behaviour, we read the font-display value of every loaded web font face. Of the 443 homepages that loaded web fonts, 329 (74%) use swap, fallback or optional on at least one face, so text stays readable while fonts download, and 93 (21%) leave every face on the browser default (auto). Across all 2,982 loaded faces, swap was the most common value (1,686, 57%).

Sans-Serif, Serif or Monospace?

CategoryMain body font (n = 511)Main heading font (n = 458)
Sans-serif486 (95%)413 (90%)
Serif19 (4%)32 (7%)
Monospace3 (0.6%)1 (0.2%)
Unclassified3 (0.6%)12 (3%)

Sans-serif is the default language of the popular web. About half of the 19 serif homepages were news publishers: the BBC, NPR, the Financial Times, Wired, El País, Le Figaro, The Verge, NBC News, La Repubblica and El Mundo. Most of the rest were pages whose text was left in the browser’s default serif (Times on a Mac) and Chinese sites whose stacks name Songti SC. Serif does better in headings (32, 7%).

We classified families with a curated table, then by the generic fallback the sites themselves declare (for example , serif), then by name. Families we could not verify are counted as unclassified rather than guessed.

These usage figures do not decide readability. Compare the same paragraph, prices and multilingual text in our serif vs sans-serif website specimens before choosing for your own page.

Big Brands Count More Than Once

Rankings list domains, not organisations. Google, Microsoft and Amazon each own many domains in the top 1,000, and their country sites share one design. As a check, we kept only the highest-ranked measured homepage per brand name (so amazon.de and amazon.co.uk count once), which leaves 481 homepages.

Main body fontPer homepage (n = 511)One per brand (n = 481)
Inter41 (8%)40 (8%)
System UI font38 (7%)37 (8%)
Open Sans26 (5%)26 (5%)
Roboto26 (5%)24 (5%)
Arial29 (6%)16 (3%)
Source Sans15 (3%)15 (3%)
Helvetica Neue12 (2%)12 (2%)
PingFang SC13 (3%)12 (2%)
Proxima Nova12 (2%)12 (2%)
Helvetica11 (2%)11 (2%)

The leaders stay the same. Arial drops most, from 29 homepages to 16, because Amazon’s country domains and Google’s .cn and .com.hk domains all use it. The check cannot merge brands whose domains have different names: all 8 Segoe UI homepages are Microsoft properties such as microsoft.com, office.com, azure.com and xbox.com.

What This Means for Your Website

  • There is no single right font. The most popular choice covers only 8% of these homepages. Choose for your brand, your readers and your languages, not for popularity. For a shortlist of the best fonts for websites in 2026, judged by job rather than popularity, see our font selection guide.
  • One or two families are enough. That is what most of the web’s biggest homepages use. Spend the effort on sizes, spacing and hierarchy instead; the website typography guide covers those details.
  • 16px body text is the norm. When we revisited these homepages on 17 October 2026, the median paragraph text on the 482 we could measure was 16px with a line height of 1.5, and 54% used 16px or more.
  • Test what renders, not what you declared. Your CSS may name a font that never draws a word on some devices. Our free Website Font Checker lists the families, sources and files a page references; confirm the rendered font in your browser’s developer tools (in Chrome: Elements, then Computed, then Rendered Fonts).
  • Self-hosting is normal. If you load Google Fonts, the Font Self-Hosting Helper turns a Google Fonts URL into WOFF2 download links and self-hosted @font-face CSS.
  • Keep text visible while fonts load. Use font-display: swap or optional and a fallback stack with similar proportions.

Method

Sample. We took the top 1,000 entries of Tranco list L5PZ4, created on 25 September 2026. Tranco is a research ranking that averages Chrome UX Report, Cloudflare Radar, Farsight, Majestic and Cisco Umbrella data over 30 days (27 August to 25 September 2026) and lists registrable domains. The frame was fixed before the crawl: we did not replace failed domains with lower-ranked ones, because that would favour sites that do not block crawlers. We excluded 12 adult sites before crawling and did not visit them.

Crawl. Each domain got one homepage visit (https:// plus the domain, following redirects, with a single www. fallback after network errors) in headless Chromium 153 on macOS 27, from one connection in Lithuania, with a 1366×900 desktop viewport, US English locale and a normal Chrome user agent carrying the token WebAlohaFontStudy. We checked robots.txt before each visit and left out every page whose robots.txt disallows crawlers, including pages reached through a redirect. We waited up to 30 seconds for the page, then for fonts to finish loading, and did not click, scroll or accept cookie banners. At most four sites loaded at a time. Domains that failed at the network level or timed out were retried once; none of them loaded on the second attempt.

Declared fonts. Every font family named in the page’s stylesheets (read through the CSSOM and from the downloaded stylesheet text, including cross-origin CSS), @font-face rules, font stacks in CSS custom properties, Google Fonts URLs and fonts added through the FontFace API.

Rendered fonts. For every visible text element (excluding cookie-consent banners), we asked Chromium through the DevTools Protocol method CSS.getPlatformFontsForNode which font it actually used for the glyphs, and weighted the answer by the number of characters. The main body font is the family with the most characters outside h1 to h3; the main heading font is the family with the most characters inside them. Web fonts are named by their CSS family; names are normalised (for example Inter var, InterVariable and a Next.js name such as __Inter_d65c78 all count as Inter), and icon and emoji fonts are excluded.

Outcomes. Every one of the 1,000 domains has exactly one outcome in the dataset:

OutcomeDomainsMeaning
Measured511Homepage loaded and measured
Duplicate50Redirected to a homepage already measured for a higher-ranked domain (for example youtu.be)
Disallowed by robots.txt44The site asks crawlers not to fetch its homepage, so we did not
Blocked, timed out or blank119Bot protection (74), no page within 30 seconds (42) or no visible text (3)
No public homepage264Mostly CDN, DNS, API and tracking domains: no web server for the bare domain or its www host (DNS, connection or certificate errors, 214), an HTTP error (29), a non-HTML response (20) or a parked domain (1)
Excluded adult site12Not visited

Leaving out duplicates, excluded sites and domains without a public homepage, 674 domains remain, and we measured 511 of them: a success rate of 76%. Robots.txt refusals, blocks and timeouts all count as failures in that rate. The dataset file includes the definitions we used. The full protocol, the run manifest and the corrections log, including every fix we made after the pilot and after the crawl, follow below.

Limits

  • One place, one moment, one device type. A single connection in Lithuania on 26 September 2026, desktop viewport only. Regional redirects, EU consent walls and geo-blocks follow from that, and sites change their fonts.
  • Homepages only. Inner pages, apps and logged-in areas can use other fonts. We did not scroll, so text that appears only after scrolling or interaction is missing.
  • Installed fonts are Mac results. Web fonts look the same everywhere, but system and installed fonts depend on the operating system. Windows and Android visitors would see Segoe UI, Arial or Roboto in some of our Mac rows.
  • Missing sites may differ. 44 domains disallowed crawlers, among them facebook.com, x.com, reddit.com and netflix.com, and 74 blocked our identified crawler, among them nytimes.com, etsy.com and walmart.com. Their fonts are not in the results.
  • Consent banners and hidden content. We excluded text inside detected cookie-consent containers, which we found on 224 of 511 (44%) homepages, but other overlays still count. Text in iframes and closed shadow roots is out of reach, and yahoo.com, for example, showed only a consent page.
  • Declared counts depend on readable CSS. Styles injected after our measurement are missed, and a family named in the CSS may be used on other pages.
  • Names are normalised by rules. Weight, version and format suffixes are merged into one family. Brand builds of public families keep their own names, and two unrelated fonts that share a name are counted together.

Full Protocol

We wrote the protocol on 26 September 2026, before any homepage in the sample was crawled. A technical pilot of 75 homepage visits then led to seven amendments, made before the full crawl and listed in the corrections log. Everything below is the protocol as applied.

Research questions
  1. Which font families do the homepages of very popular websites actually render for body text and for headings?
  2. How does that differ from the families their CSS declares?
  3. Where do the fonts come from: Google Fonts, Adobe Fonts, other font services, self-hosted files or fonts installed on the device?
  4. How many font families and font files does a popular homepage use?
Sample frame and exclusions
  • List: Tranco list L5PZ4, created on 25 September 2026 at 22:00 UTC with the default configuration: Chrome UX Report, Farsight, Majestic, Cloudflare Radar and Cisco Umbrella, averaged over 30 days (27 August to 25 September 2026) with the Dowdall rule, registrable domains only.
  • Frame: the top 1,000 entries, read on 26 September 2026. The frame is fixed: excluded or failed domains are never replaced with lower-ranked ones, because replacing on crawl success would favour sites that do not block crawlers.
  • Why Tranco: it is a research ranking designed to resist manipulation. It ranks domains, not websites, so many entries are CDN, DNS, API, advertising or telemetry domains. We keep them in the frame and report what happened to each one.
  • Pre-crawl exclusion: 12 adult domains, identified by name before the crawl under the rule “a domain whose primary purpose is sexually explicit content or its delivery network”, were not visited. A visited page carrying an adult rating label would also have been excluded and reported separately.
Crawl settings
  • Machine: macOS 27.0 (arm64) with no user-installed fonts, so installed-font results are those of a default Mac.
  • Network: one internet connection in Lithuania (EU), one IP address.
  • Browser: Playwright 1.63.0 with its bundled headless Chromium 153.0.8010.12.
  • Context per site: a fresh browser context with no shared cookies or cache, a 1366×900 viewport at device scale factor 1, locale en-US, JavaScript on, service workers blocked and HTTPS errors not ignored.
  • User agent: a normal Chrome desktop user agent with the token WebAlohaFontStudy/1.0 (+https://webaloha.co/). No stealth plugins or other techniques to evade bot detection.
  • robots.txt: fetched once per domain before the homepage and matched under RFC 9309 for the token WebAlohaFontStudy, falling back to the * group. A disallowed / means no visit. A 4xx robots.txt means no restrictions and a 5xx means complete disallow, as RFC 9309 specifies.
  • Visit: one navigation to https:// plus the domain, following redirects. Only after a network-level failure (DNS, connection or TLS) do we try the www. host once, after checking its robots.txt. Never plain http://.
  • Waiting: up to 30 seconds for DOMContentLoaded, then up to 15 seconds for the load event, 5 seconds for network idle, 5 seconds for document.fonts.ready and 1.5 seconds to settle. No clicks, scrolling, typing, consent interaction or screenshots.
  • Politeness: at most four sites at a time, each visited once plus its robots.txt, in rank order.
Outcome rules

Each attempted domain gets exactly one outcome, assigned in this order:

OutcomeRule
Excluded adult siteOn the pre-crawl list, or the page carries an adult rating label
Disallowed by robots.txtrobots.txt disallows / for our token or for *, or returned a 5xx status
No public homepage: unreachableDNS, refused or unroutable connection, or TLS error on both the domain and its www. host
Timed outNo DOMContentLoaded within 30 seconds
BlockedFinal status 403, 429 or 451, a Cloudflare challenge header, a dropped connection, or a short page whose title or text matches a bot-challenge or geo-block pattern
No public homepage: HTTP errorAny other final status of 400 or more
No public homepage: not HTMLThe final response is JSON, XML, plain text or a download
No public homepage: parkedA server default page or a domain-parking page
BlankAn HTML page with no visible text after waiting
DuplicateThe final host was already measured for a higher-ranked domain
Crawler errorAny other failure of our crawler
MeasuredEverything else

The success rate is measured homepages divided by eligible domains, where eligible excludes unreachable, HTTP error, not HTML, parked, duplicate and excluded domains. Robots.txt refusals, blocks, timeouts and blank pages stay in the denominator. Below 70%, the article would have stayed a draft.

What we measured
  • Declared fonts: every font-family value in the page’s CSS, read through the CSSOM (including nested @media, @supports, @layer, @container and @import rules) and from the downloaded text of every stylesheet, inline style and style attribute; every @font-face family and every family added through the FontFace API; font stacks held in CSS custom properties whose names contain “font” or “family”; and families named in Google Fonts URLs. Generic families and CSS-wide keywords are not counted as families.
  • Loaded fonts: faces with the status “loaded” in document.fonts, with their weight range, style and font-display value, and every font file response with its host and size.
  • Font sources: each downloaded font file is classified by host as Google Fonts, Adobe Fonts, another font service, a public open-source CDN, or self-hosted (everything else).
  • Rendered fonts: every visible element with direct text, outside scripts, styles, SVG and detected cookie-consent containers, including open shadow roots. Elements are grouped by computed family, weight and style; for each group, Chromium’s DevTools Protocol method CSS.getPlatformFontsForNode is called on up to five of its largest elements (at most 300 per page) and reports the font actually used for the glyphs. Characters are attributed in proportion to the glyph counts.
  • Roles: text inside an h1, h2 or h3 counts as heading text, everything else as body text. The main body font is the rendered family with the most body characters; the main heading font is the one with the most heading characters. Icon and emoji fonts are excluded from both.
Names, categories and reporting rules
  • Names: compared without regard to case; build-tool hashes, generated fallback names, weight and style words, variable-font markers and “Web” suffixes are removed; width words such as “Condensed” are kept because they name separate families. A short alias table merges spellings and optical sizes of one family, such as Inter Display and Inter. Brand builds of public families, such as Shopify-Inter, keep their own names.
  • System UI: system-ui, -apple-system, BlinkMacSystemFont and similar keywords request the operating system’s interface font, which our Mac renders as San Francisco.
  • Categories: sans-serif, serif, monospace, display or script, taken from a curated table, then from the generic fallback the sites themselves declare, then from the family name. Anything else is reported as unclassified, not guessed.
  • Percentages: every share states its n, rounded to whole numbers with one decimal below 1%. The frame is a near-census of one ranking, not a random sample, so we publish no margins of error and describe non-response instead.
  • Brand check: the main tables are repeated keeping only the highest-ranked measured homepage per brand label, as shown in the brand section above.
  • Data handling: raw per-site output stays private. The published dataset holds aggregates and one row per ranked domain with public facts only, and no page text, screenshots, cookies or personal data.

Run Manifest

ItemValue
RankingTranco L5PZ4, created 25 September 2026, top 1,000 entries
Technical pilot26 September 2026, 75 homepage visits in three batches of 30, 33 and 12, kept out of the dataset
Main pass26 September 2026, 11:27 to 11:51 UTC
Retry pass26 September 2026, 11:51 to 11:58 UTC: 261 unreachable, timed-out or failed domains visited once more; none loaded
Extra visit4 domains revisited after a measurement fix (correction 1 below); all were bot-protection pages
Redirect checkrobots.txt fetched once for each of the 123 hosts that measured homepages redirected to; 2 disallowed us and 3 homepages were removed
Machine and browsermacOS 27.0 (arm64), no user-installed fonts; Headless Chromium 153.0.8010.12 (Playwright 1.63.0)
LocationLithuania (EU), one IP address
Viewport and locale1366x900, en-US
ConcurrencyAt most 4 sites at a time
Outcomes511 measured, 50 duplicates, 44 disallowed by robots.txt, 74 blocked, 42 timed out, 3 blank, 214 unreachable, 29 HTTP errors, 20 not HTML, 1 parked, 12 excluded
Success rate511 of 674 eligible domains (76%); coverage 511 of 1,000 (51%)
Follow-up run17 October 2026: the 511 measured homepages revisited once with the same settings to record body text size and line height; 482 measured
Dataset filefont-study-2026.json, 260 KB, SHA-256 0e5dbeb676afddc48f28a729d3c79db268d725ce494b4ac64b594e39605c7780

The crawler and aggregation scripts are not published. If you need them to replicate the study, ask us and we will share them.

Corrections Log

Amendments after the pilot, before the full crawl (26 September 2026). None was chosen by looking at results of the full crawl, which had not started.

  1. Mac system font names. Named SF Pro families count as ordinary families, because Apple serves SF Pro as a web font. Only the system keywords and Chromium’s hidden platform names count as the system UI font. The pilot had labelled apple.com’s web font as the system font.
  2. Consent containers. Only known consent-management containers, and elements whose names combine “cookie”, “consent”, “gdpr” or “privacy” with a banner word, are excluded, and only when at most 1.5 viewport heights tall. The broader first rule removed all text from consent vendors’ own homepages.
  3. Shadow DOM. Text inside open shadow roots is included (msn.com renders its content there), and the probe no longer writes attributes into the page.
  4. Dropped connections. A connection that a server accepts and then drops is classified as blocked, not unreachable, which keeps it in the success-rate denominator.
  5. Name normalisation. Version suffixes, Monotype-style suffixes and numbered weights are removed; optical-size members of one family are merged through an explicit alias table; localised Mac font names are mapped to English names.
  6. Naming rule. Web fonts are named by their CSS family, except for Next.js hashed names, where the font file’s family is used.
  7. Retry pass. Unreachable, timed-out and failed domains are visited once more with the same protocol, and the second outcome is final.

Corrections after the full crawl (26 September 2026, before publication). Each is a rule applied to every record; none selects sites by the fonts they use.

  1. Probe failure on bot-challenge pages. Four domains (bloomberg.com, walmart.com, zillow.com and fiverr.com) crashed the probe. After the fix they were visited once more; all were bot-protection pages and count as blocked.
  2. Icon glyphs inside text. Icon glyphs reported with surrounding text had been merged into the text family; three homepages lost their main font as a result. Icon and emoji glyphs now keep their own name.
  3. Case-insensitive face matching. A stack family now matches a loaded face regardless of case, as CSS does.
  4. Site aliases of known families. When the CSS name is unknown but the font file names a known family, the file’s family is used.
  5. Name clean-up. Build hashes and junk internal names are removed and Latin diacritics are matched (Söhne and Sohne).
  6. Sources from downloaded files only. Fonts embedded as data: URIs are reported separately instead of as a font source.
  7. robots.txt of redirect targets. Three homepages that redirected to hosts disallowing us were reclassified as disallowed and removed.
  8. First family not rendered. The measure now skips leading emoji, icon and metric-fallback families and counts a loaded web font as used. The count fell from 39 to 26 homepages.

Together, these corrections changed the measured homepages from 513 to 511, found a main body font for all 511 (previously 3 were missing) and left the top five body fonts and their order unchanged.

After publication. No published result has been corrected since 26 September 2026. On 17 October 2026 we added the body text size measurement as separate data. On 20 October 2026 we published this protocol, the run manifest and this log; no data changed.

Download the Data

The dataset is a single JSON file: download font-study-2026.json. It contains every aggregate on this page plus one row per ranked domain: rank, domain, outcome, final host, main body and heading fonts with their type, font sources, number of font files and kilobytes, and counts of declared and rendered families. It contains no page text, screenshots or personal data.

If you use the data, please link to this page and cite the ranking: Le Pochat et al., “Tranco: A Research-Oriented Top Sites Ranking Hardened Against Manipulation”, NDSS 2019, list L5PZ4.

Recommended tools

Recommended tools for this guide

Use these free tools to apply the ideas from this guide to your own website.

Useful info? Spread the Aloha:

Lucky Oleg

Lucky Oleg is the founder of Web Aloha, a web design & SEO agency helping businesses ride the digital wave. With years of experience in WordPress, technical SEO, and web performance, he writes about what actually works in the real world.