Quarterly datasets

Four aggregate measurements taken from the traffic this site already handles, published every quarter as CSV under a Creative Commons Attribution licence. No dataset contains an IP address, a session identifier, or anything that can be traced to one visitor.

Status: released. 4 of 4 datasets have at least one published quarter. Every release is a CSV under a Creative Commons Attribution licence, with a manifest that carries the row count, the SHA-256 of the file and the suppression threshold. The machine-readable list of releases for a dataset is at /data/<dataset-id>/index.json.

Collection of the network observations started on 5 September 2026. Collection of the check outcomes that feed these four datasets started on 8 September 2026.

What is published

  1. IPv6 share by country and ASN

    Published

    How many real connections can actually carry IPv6, rather than how many networks advertise it?

    Measures
    The share of sessions whose connection can carry IPv6 at all, and the share that the browser actually chose to send over IPv6, split by country and by autonomous system.
    Method
    The homepage asks one IPv4-only hostname and one IPv6-only hostname for a report. The pair of answers is counted once per session as a triple of country, ASN and outcome. Preference is the share of requests that reached the dual-stack site over IPv6. No address is stored.
    Columns
    quarter, country, asn, as_name, sessions, v6_capable, v6_preferred
  2. Carrier-grade NAT share by ASN

    Published

    Which access networks put their subscribers behind shared address space, and how consistently?

    Measures
    The share of sessions whose public address falls in 100.64.0.0/10, and separately the share where the browser reports a local address in that range behind a different public address, per autonomous system.
    Method
    The public address is read at the edge and classified there, then discarded. The second signal comes from the local candidate the browser already gathers on the homepage. The two are counted in separate columns and never merged into one headline number.
    Columns
    quarter, asn, as_name, country, sessions, rfc6598_share, inferred_share
  3. Leak rates by browser and leak type

    Published

    When a visitor is behind a tunnel, which browser leaks, and which check catches it?

    Measures
    For sessions that ran the full VPN check, the rate at which WebRTC, DNS or IPv6 exposed a path outside the tunnel, split by browser engine and major version.
    Method
    Counted only from sessions that ran every check to completion. A leak is recorded when a check returns an address or resolver outside the network the HTTP request came from. The rubric is published with the data.
    Columns
    quarter, engine, engine_major, sessions, webrtc_leak, dns_leak, ipv6_leak, any_leak
  4. Resolver market share

    Published

    Which recursive resolvers actually answer for people, as opposed to which ones people say they use?

    Measures
    The share of DNS leak tests answered by each resolver operator, split by country, with ISP resolvers grouped by ASN.
    Method
    Each leak test issues single-use subdomains under our own authoritative zone. The resolvers that query us are turned into an operator name and a network number on the server, and their addresses are discarded in the same request. Query names expire in ten minutes.
    Columns
    quarter, country, resolver_operator, resolver_asn, queries, share

How the numbers are made

Every figure is a count of sessions, never of people and never of addresses. A full address is never written down. The country and the network number come from the edge that answered the request, never from the browser. The browser engine comes from the request header the browser already sends. The resolver behind a DNS leak test is turned into an operator name and a network number on the server, and its address is discarded in the same request. Each counter row holds a day, a kind, three short labels and a number, and nothing else.

Buckets with fewer than 50 sessions in a quarter are suppressed rather than published, because a small bucket in a small country is not anonymous. The release manifest carries the threshold and the count of suppressed rows, so the totals still reconcile.

Each release carries the rubric that produced it. When a rubric changes, the old series is not rewritten; a new column is added and the change is described in the release note. Comparisons across a rubric change are marked in the CSV itself.

Everything is licensed CC BY 4.0. Cite it as "whatsmyip.fyi quarterly network datasets" with the quarter and a link. If you find an error, tell us and the correction goes in the next release with a note, not a silent edit.

Where the measurements come from