The IPv6 Mirage: Users Crossed 50%, But Only 1 in 5 Domains Answers — and Cloudflare Generates Half of That

On 28 March 2026, the share of Google's traffic arriving over IPv6 ticked past 50% for the first time, peaking at 50.10%. Eighteen years after Google began publishing the measurement, the headline finally wrote itself: IPv6 had reached the majority. The protocol that was supposed to be inevitable, and then supposed to be dead, had quietly become how most of the Internet's users connect.

That number is real, and it is worth celebrating. But it measures exactly one side of a two-sided protocol. Google's statistic — like APNIC's ~43% and Cloudflare's ~40% of packets — counts eyeballs: people whose ISP, mobile carrier, or home router can speak IPv6 when a destination offers it. It says nothing about whether the destinations offer it. A browser that can reach IPv6 still falls back to IPv4 the instant a domain has no AAAA record, and the user never notices. The eyeball Internet crossing 50% tells you the clients are ready. It does not tell you what they find when they ask.

So we asked. DomainsProject runs full-corpus, typed DNS measurement passes against its master hostname dataset, and the 9 June 2026 pass queried the AAAA record — the IPv6 address record — for every resolvable hostname we track. That is 3,170 result archives, roughly 53 GB compressed, and 1,880,256,679 DNS answers: not a sample of popular sites, not the Tranco top-N, but the long tail of the actual registered Internet. For every name we recorded whether it returned an IPv6 address, and for every address we recorded who owns the prefix it points to. Russian-territorial TLDs are excluded throughout, per project policy.

The headline: the content Internet is nowhere near its users. Of 315,046,240 registry domains, only 64,178,083 — 20.4% — publish any IPv6 address at all, against the 50% of users who can reach one. And the IPv6 that exists is not, mostly, the work of origin operators turning it on: Cloudflare alone supplies 44.7% of every domain's IPv6, and 45.4% of all domain IPv6 is a CDN edge sitting in front of an origin that may still be IPv4-only. Cloudflare auto-generates an AAAA record for every proxied zone — even when the origin behind it speaks no IPv6 at all. Strip the CDN layer away and origin-native IPv6 falls to 11.1% of domains; isolate the domains where someone appears to have deliberately provisioned a v6 address, rather than inheriting one from a host or a proxy, and it falls to roughly 4%. The eyeball Internet reached the majority. The content Internet is a CDN feature.

The Data

Every record in this study is a single AAAA query answered from the public DNS, in June 2026, against the DomainsProject master hostname corpus.

Measure Count Share
Resolvable hostnames queried (AAAA) 1,880,256,679
Hostnames returning ≥1 AAAA 267,677,408 14.24% of hostnames
Registry domains (apexes, eTLD+1) 315,046,240 denominator
Registry domains with ≥1 AAAA 64,178,083 20.37%
Domains whose only AAAA is broken/non-global 1,996,683 3.11% of IPv6 domains
Free-platform hosts (blogspot, myshopify, github.io…) 86,152,937 tracked separately
Free-platform hosts with AAAA 27,148,983 31.51%

The unit that matters is the registry domain — the registrable apex, or eTLD+1, computed with ICANN public-suffix rules. We measure whether a domain answers an IPv6 query, not whether every hostname under it does, because "does example.com exist on IPv6" is the question registrars, registries, and operators actually act on. The 20.4% figure brackets cleanly against external counts: W3Techs puts website IPv6 at 30.7% (June 2026, weighted toward popular sites), an older top-500 study found 19%, and Hurricane Electric's registry-wide progress report shows AAAA on 19.5% of A-having .com domains. Our long-tail census sits exactly where it should: above the apex-only top-500 number, below the popularity-weighted W3Techs number.

Methodology

Any number with this many zeros in it deserves to have its definitions spelled out.

The denominator. The DomainsProject corpus is a crawled set of known, resolvable hostnames — names that have been observed in use — not a dump of registry zone files. Every answer in this pass returned DNS status NOERROR, meaning the name resolves; an apex that returns NOERROR to an AAAA query (whether or not it has an AAAA) is effectively an active domain, the rough equivalent of "has an A record" in registry-file terms. This is why our per-TLD rates track Hurricane Electric's AAAA-among-active ratios rather than its AAAA-among-all-registrations ratios: for .de we measure 36.5% and he.net's AAAA/A ratio is 35.4%; for .com, 16.9% against 19.5%; for .cn, 17.0% against 14.3%. The same domains, counted the same way, by two independent instruments.

Registry apex vs. private-suffix host. We resolve each name to its ICANN-registrable domain. Names that sit under a private Public Suffix List entry — something.blogspot.com, store.myshopify.com, user.github.io — are not counted as registry domains; they are free subdomains of a platform, and folding them into the apex population would let a single platform's default inflate the whole picture. (An early cut of this analysis, before the private-suffix correction, credited "Google" with 19% of apex IPv6; almost all of it was *.blogspot.com.) We count these 86.2 million platform hosts separately, because their IPv6 behavior is a genuinely different — and interesting — phenomenon, examined below.

Provider classification. For every domain with an IPv6 address, we take the first AAAA answer and match it against a table of published IPv6 allocations: Cloudflare's 2606:4700::/32 and its siblings, Google's 2a00:1450::/32 family, AWS's 2600:1f00::/24, Akamai's 2600:1400::/24, and the announced ranges of the large hosting providers (IONOS 2001:8d8::/32, Strato 2a01:238::/32, OVH 2001:41d0::/32, Hetzner 2a01:4f8::/29, Hostinger 2a02:4780::/32, TransIP 2a01:7c8::/32, Aruba 2a00:6d40::/32, and more), plus Shopify's 2620:127:f00f::/48. Each provider is bucketed into one of five categories defined by who controls the IPv6:

  • CDN / reverse proxy (Cloudflare, Fastly, CloudFront, Akamai): the AAAA points at an edge node. The origin behind it may speak IPv6 or may be IPv4-only — from the DNS we cannot tell, and in Cloudflare's case the default is to synthesize an AAAA regardless.
  • Mass / shared hosting (Hostinger, IONOS, Strato, OVH, Hetzner, GoDaddy, one.com, Aruba, TransIP, Infomaniak, Hostpoint, WEDOS, domainFactory): the address is the hosting account's own, and IPv6 is reachable end-to-end — but it is on because the provider enabled it by default, not because the site operator asked.
  • IaaS / VPS (AWS, Google Cloud, Azure, DigitalOcean, Linode, Vultr): a virtual machine with a v6 address the operator had to provision and configure. The closest thing to a deliberate origin choice.
  • Managed platform (Shopify, GitHub Pages, Google Sites): fully hosted; IPv6 is the platform's single decision, applied to everyone.
  • Other / origin: an address in no recognized provider range — long-tail hosting and genuine self-hosting — plus a broken / non-global sub-bucket for answers that are unusable as public IPv6: the unspecified address ::, loopback ::1, IPv4-mapped ::ffff:a.b.c.d, and NAT64 64:ff9b::/96 synthetics.

Known limitations. Five, stated plainly. (1) Presence, not reachability. An AAAA record means a domain advertises IPv6; we did not open a TCP connection to confirm the address actually serves traffic. The broken-AAAA bucket shows this gap is non-trivial. (2) First-address classification. Provider share is computed from the first AAAA in the answer; multi-homed domains contribute once. (3) Prefix-table coverage. Our allocation table is comprehensive for the large providers but not exhaustive; the 12.7% "Other / origin" bucket is a true residual and an upper bound on self-hosting — some of it is smaller hosts we did not enumerate. (4) The CDN blind spot is the point, not a flaw. We deliberately do not guess whether a Cloudflare-fronted origin speaks IPv6, because the public DNS genuinely cannot see it; that uncertainty is the finding. (5) Snapshot, not longitudinal. One pass, 9 June 2026; we make no growth claims from it. Reproduction inputs — the extractor, the prefix table, and the per-shard aggregates — are archived alongside the crawl.

The Scorecard

Two numbers define the gap. 20.37% of registry domains publish IPv6, and 44.74% of that IPv6 belongs to a single company.

Funnel stage Domains Share of all apexes
All registry domains 315,046,240 100%
Publish ≥1 AAAA 64,178,083 20.37%
AAAA is not a CDN edge (origin/host) 35,063,948 11.13%
AAAA is IaaS or self-hosted (deliberate) ~13,045,000 ~4.14%

Provider concentration of domain IPv6

Rank Provider / bucket Domains Share of IPv6 domains
1 Cloudflare 28,712,710 44.74%
Other / origin (residual) 8,165,500 12.72%
2 Hostinger 5,761,780 8.98%
3 IONOS 4,258,044 6.63%
4 AWS 4,005,383 6.24%
5 Strato 2,047,548 3.19%
Broken / non-global AAAA 1,996,683 3.11%
6 Shopify 1,933,443 3.01%
7 Hetzner 1,266,219 1.97%
8 GoDaddy 1,031,757 1.61%

Cloudflare serves more apex IPv6 than every other named provider on Earth combined. Its 44.74% is larger than Hostinger, IONOS, AWS, Strato, Shopify, Hetzner, GoDaddy, OVH, and one.com added together. The five largest named providers account for 69.8% of all domain IPv6; the curve does not so much have a head as a single vertical spike. This is the structural fact the eyeball statistics hide: when half the Internet's users "can reach IPv6," a wildly disproportionate share of what they reach, when they reach anything, terminates on one company's edge.

The Two IPv6s: The Eyeball Side Won, the Content Side Didn't

The 30-point gap between "users who can use IPv6" and "domains that offer it" is the whole story in one comparison. Client-side adoption is a function of ISPs, mobile carriers, and CMTS upgrades — infrastructure that a few hundred large access networks control and that, once flipped on, covers millions of subscribers at once. Server-side adoption is a function of hundreds of millions of independent operators each making a decision about a domain, and most of them never make it.

The descent is the argument. Half of users can reach IPv6; one in five domains offers it; one in nine offers it from something other than a CDN edge; and roughly one in twenty-five offers it from infrastructure the operator appears to have configured themselves. Each step down removes a layer of IPv6 that exists without the origin having chosen it. The W3Techs figure of 30.7% and our 20.4% are not in conflict — W3Techs weights toward popular, CDN-heavy sites, which is precisely the population where Cloudflare and its peers have already manufactured IPv6 on everyone's behalf. Measured across the long tail, where most domains live and where nobody has turned anything on, the rate falls to one in five. And the part of that which represents an origin server genuinely speaking IPv6 to the world is smaller still.

Cloudflare's Quiet Monopoly on the Content Internet's IPv6

The reason domain IPv6 looks healthier than origin IPv6 is a single default setting at a single company. When a zone is proxied through Cloudflare, IPv6 compatibility is on by default, and Cloudflare publishes an AAAA record pointing at its own edge — whether or not the customer's origin server has an IPv6 address at all. The customer did nothing. They pointed their nameservers at Cloudflare for DDoS protection or a free TLS certificate, and IPv6 arrived as a side effect. Multiply that by Cloudflare's enormous free-tier footprint across the long tail and you get 28.7 million domains, 44.7% of all domain IPv6, generated by a setting most of those operators have never seen.

Below Cloudflare, the named tail is striking for what it is: European mass-hosting. Hostinger, IONOS, Strato, OVH, Hetzner, one.com, Aruba, TransIP, Infomaniak, Hostpoint — the providers that show up are the shared-hosting industry of Germany, France, the Netherlands, Italy, Switzerland, and the Nordics, almost all of which switched IPv6 on by default for every hosting account years ago. The contrast with the eyeball leaderboard is sharp. France and India lead client-side IPv6 at 73% and 72%, on the strength of their mobile networks — but the providers manufacturing content-side IPv6 are the German and Dutch hosting industry, not the French and Indian carriers. The two halves of IPv6 are being driven by entirely different actors, in entirely different countries.

The AAAA Mirage: Half of Domain IPv6 Is an Edge, Not an Origin

Sorting domain IPv6 by who controls the address shows that the largest single category is the one where we cannot confirm the origin speaks IPv6 at all. The CDN / reverse-proxy bucket — Cloudflare plus Fastly, CloudFront, and Akamai — is 45.36% of all domain IPv6. For every one of those 29.1 million domains, the published AAAA belongs to an edge node, and the path from that edge back to the customer's origin server may run entirely over IPv4. The DNS cannot see it, and the default settings mean most operators have not thought about it.

The green bars are the real thing; the amber bar is the mirage. Mass / shared hosting (27.67%), IaaS (7.59%), and managed platforms (3.52%) together — 38.8% of domain IPv6 — are end-to-end: a client connecting over IPv6 reaches a server that answered over IPv6. That is genuine origin reachability, even where the operator inherited it from a default. The CDN bucket is different in kind, not degree: it is IPv6 that terminates at a proxy. This does not make it worthless — a user on an IPv6-only network can load a Cloudflare-fronted site, which is the entire point of Cloudflare's feature — but it means the standard way of counting ("does the domain have an AAAA?") systematically overstates how much of the Internet's server infrastructure has actually migrated. And the 3.11% broken-AAAA sub-bucket — 1,996,683 domains whose only IPv6 answer is ::, a loopback, an IPv4-mapped address, or a NAT64 synthetic — is the mirage in its purest form: domains that count as "IPv6-enabled" in any registry tally and resolve to an address no client can use.

IPv6 by TLD: A Hosting Story Wearing a National Costume

Server-side IPv6 varies more than 11-fold across TLDs, and the ranking is a map of the hosting industry, not of national broadband policy. The Netherlands' .nl tops every major TLD at 52.9% — more than half of active .nl domains answer on IPv6 — followed by a wall of European ccTLDs: .no 38.9%, .cz 36.8%, .ch 36.5%, .de 36.5%, .be 35.6%. At the bottom sit .jp at 4.9%, .za at 8.2%, and .ca, .us, .au all stuck near 12-14%. The legacy gTLDs cluster in the middle: .com 16.9%, .org 17.0%, .net 15.6%.

The cause is visible in the provider data: where a country's domains concentrate on hosting providers that default to IPv6, the ccTLD's rate is high, regardless of how its consumers connect. .nl rides TransIP and the Dutch hosting sector; .de rides IONOS and Strato; .ch rides Infomaniak and Hostpoint; .cz rides WEDOS; .it rides Aruba. These providers turned on IPv6 for every customer, so the ccTLDs they dominate inherited high adoption wholesale. The laggards are equally legible: .jp's 4.9% reflects a domestic hosting market that never made IPv6 a default, even though Japan's consumer IPv6 is widespread — and the gap between Japanese eyeballs and Japanese origins is one of the widest of the two-IPv6s divergences anywhere. .com lands at 16.9% precisely because it is everyone's TLD: a global average dragged down by the long tail and pulled up only where Cloudflare has fronted it. Server-side IPv6 is not something a country deploys. It is something a country's hosting providers either switched on or did not.

The Free-Platform Paradox: All-or-Nothing IPv6 at Scale

The 86.2 million free-platform hosts — the blogspot.com, myshopify.com, and github.io subdomains we hold out of the registry count — reveal a different dynamic: one decision, made once, moving millions of sites at a stroke. Their aggregate AAAA rate is 31.5%, higher than the registry population, but the aggregate hides a near-binary reality. Of the platform hosts that do answer on IPv6, two-thirds (66.7%) are Google's — Blogger and Google Sites properties, which publish IPv6 universally — followed by Shopify (11.3%), Amazon's static-hosting edges (7.5%), and GitHub Pages (4.0%). These platforms ship IPv6 to every customer by fiat. Others, famously, ship it to none: large application-hosting platforms whose default tier still provides no public IPv6 — Heroku's common runtime being the canonical example — contribute essentially zero, which is what drags the blended rate to 31.5% rather than toward 100%.

The inference is the same as the registry finding, sharpened: server-side IPv6 is decided by a small number of large operators, not by the millions of sites that ride on them. When Google enabled IPv6 across Blogger, tens of millions of blogs became IPv6-reachable on the same day, none of their authors involved. The platform is the unit of decision; the site is a passenger. That is efficient — it is how you move IPv6 at scale — but it means "percentage of sites with IPv6" is really "percentage of platforms and CDNs with IPv6, weighted by their customer counts," and a single product manager's default toggle is worth more to the aggregate than a million individual operators combined.

What's at Stake

  • The majority milestone measures the wrong half for content operators. "IPv6 crossed 50%" is true for eyeballs and irrelevant to whether your origin needs to support it — the user-side metric will keep climbing toward 100% on the strength of fallback and CDNs whether or not a single additional origin server ever enables IPv6. Read against the wrong denominator, the milestone tells operators they are done when 80% of domains have not started.
  • Domain IPv6 is a Cloudflare dependency disguised as a protocol statistic. With 44.7% of all domain IPv6 manufactured by one company's default proxy setting, "the Internet's IPv6 adoption" is, to a first approximation, a property of Cloudflare's market share and configuration defaults. A change to that default, or a shift in that market share, would move the global number more than any plausible wave of deliberate origin deployment.
  • Counting AAAA records overstates server-side migration. Roughly 45% of domain IPv6 is a CDN edge that may front an IPv4-only origin, and 3.1% of "IPv6-enabled" domains publish an address no client can use. Any plan that treats AAAA presence as a proxy for origin readiness — capacity planning, IPv4 sunsetting, security inventory — is counting mirage as substance.
  • IPv6 is now a reconnaissance and exposure surface, not just a reachability one. A growing share of origins are reachable over IPv6 with security tooling, logging, and firewall rules that were written and tested for IPv4 — an asymmetry attackers can read directly from the AAAA records that operators forgot they published.
  • The national divergence is a planning trap. A market like Japan, with high consumer IPv6 and low origin IPv6, is exactly where a domestic site can be invisible to its own IPv6-only mobile users while every dashboard says "IPv6 is at 70% here" — because the 70% is eyeballs and the site is one of the 95% of origins that never enabled it.

What Would Help

  1. Hosting and platform providers: the default is the entire lever. Every high-adoption TLD in this study got there because its dominant hosting providers switched IPv6 on for all accounts. That single decision moves more origins than any amount of operator education — Hostinger, IONOS, and Strato collectively account for more domain IPv6 than every IaaS cloud combined. If you run a hosting platform and IPv6 is opt-in, the most impactful change available to the entire content Internet is your default toggle. Benchmark your TLDs against the per-TLD statistics.
  2. Operators behind a CDN: confirm your origin, don't assume it. If your domain "has IPv6" because Cloudflare added an AAAA, your origin may still be IPv4-only, and you should know which. Provision IPv6 at the origin so that a CDN incident, a direct-connect path, or a future IPv4 sunset does not strand you — the AAAA in your zone is a promise the edge is keeping on your behalf, not a property of your server.
  3. The measurement community: report eyeball and content IPv6 as two distinct metrics, always. A single "IPv6 adoption" percentage conflates a near-solved access-network problem with a barely-started origin problem. Separate them, and separate CDN-generated AAAA from origin-native AAAA, so that "50%" and "20%" and "11%" each label the thing they actually measure. The gap between them is the remaining work.
  4. Registries and policy makers: target origins, not averages. Registry-wide AAAA counts that include CDN edges and broken records flatter the trend. Incentives that reward genuine origin reachability — and ccTLD programs modeled on the Dutch and German hosting defaults — will move the number that matters, rather than the one that is already being moved by Cloudflare.
  5. Security teams: inventory your IPv6 from the records, the way an attacker does. Every fact in this post came from public AAAA queries in seconds. Resolve your own apexes and subdomains over IPv6, confirm the addresses are intended, reachable, and protected by the same controls as your IPv4 surface, and treat any ::, loopback, or NAT64 answer as a misconfiguration to fix, not a checkbox to celebrate. Benchmark against the dataset and the statistics dashboard.

Methodology: 1,880,256,679 AAAA query results from a DomainsProject full-corpus typed DNS crawl dated 9 June 2026 (3,170 archives, ~53 GB compressed), reduced to 315,046,240 registry domains via ICANN public-suffix rules, with 86,152,937 private-suffix platform hosts counted separately. IPv6 providers classified from the first AAAA answer against published allocation prefixes; categories defined by who controls the address. Per-TLD rates cross-checked against Hurricane Electric's registry-wide IPv6 progress report; client-side and website figures from Google, APNIC, the Internet Society Pulse, and W3Techs. Russian-territorial TLDs (.ru, .su, .moscow, .xn--p1acf, .xn--p1ai) excluded throughout. This is a single snapshot; no growth claims are drawn from it. Companion measurements of the same corpus appear in Where the Fortune 500 Actually Live and A State of TXT. Explore the full dataset at /dataset and per-TLD statistics at /stats/.