ipv6only.nl

How the directory is built

Every entry is measured, not guessed.

A domain earns a place here only if the internet's own records say it is reachable over IPv6 and nothing else. Here is exactly how that gets decided, and where the limits are.

What counts as IPv6-only

One rule, checked at the domain's apex: it must publish at least one AAAA record and no A record. An AAAA record is an IPv6 address; an A record is IPv4. A site with both is dual-stack — reachable the old way too — so it doesn't belong here. This directory is only the web that left IPv4 behind entirely.

That makes the test strict on purpose. A single working IPv4 address anywhere on the apex is enough to exclude a domain, no matter how good its IPv6 is.

  1. Find candidate domains

    You can't test what you can't name, so the first job is assembling the largest honest list of domains per zone. The best source depends on the TLD.

    Zone files — .org .com .net .se Common Crawl — .nl .de .eu .be

    Where a registry publishes its zone — .se openly, and .org/.com/.net through ICANN's CZDS — that file lists every registered domain, so coverage is complete. For zones with no public file, the candidate list comes from the Common Crawl host graph: every hostname the web's largest crawl has ever linked to, filtered to the TLD. Broad, but only as complete as the crawl.

  2. Resolve AAAA — several times

    Every candidate is queried for an AAAA record with massdns across a pool of public resolvers. The catch: with a limited resolver pool, any single sweep of millions of names produces false negatives — a resolver rate-limits, a query is dropped, and a domain that has IPv6 looks like it doesn't.

    So AAAA presence is decided by the union of several gentle passes: a domain counts as having IPv6 if it answers on any pass. A negative is never trusted on its own. In practice the count converges after four passes.

  3. Rule out anything dual-stack

    The survivors are then queried for an A record across a curated set of trusted resolvers, again over multiple passes. Here the logic inverts: an A record seen on any pass disqualifies the domain. Accumulating every IPv4 answer this way is what keeps dual-stack sites out, even when their IPv4 is slow to appear.

  4. Re-confirm, then publish

    Right before a build, the whole surviving set is re-resolved once more so every listed address is current, and anything that has since dropped its AAAA falls off. The result is written as one address per domain. The current build holds 16,897 domains across eight zones, last refreshed 2026-07-10.

Where the edges are

This is a snapshot, and DNS moves. A domain can add an A record or drop its AAAA an hour after a build, so the list is always slightly behind reality — that's why entries disappear between runs, not because they were wrong when recorded.

Coverage is bounded too. Eight zones are tracked — .nl .com .net .org .de .eu .be .se — and for the crawl-sourced ones, a domain no crawler has reached is a domain this can't see. The check is also apex-only: a site that is IPv6-only on shop.example.nl but dual-stack on the bare domain won't qualify. None of this is measuring reachability of the web server itself — only what the DNS declares.

→ See which Dutch ISPs give you IPv6 by default