Skip to content
Webmaster Tools

AAAA record

An AAAA record maps a domain to an IPv6 address. Its format, how browsers choose between IPv4 and IPv6, GitHub Pages values, how to check it and what breaks.

What it is

An AAAA record ("quad A") maps a name to an IPv6 address, exactly as an A record does for IPv4. It is defined in RFC 3596; the name comes from the address being four times as long as an IPv4 one (128 bits instead of 32).

example.com.      3600  IN  AAAA  2001:db8::10
www.example.com.  3600  IN  AAAA  2001:db8::10

A name usually has both A and AAAA records ("dual stack"). Clients on an IPv6 network ask for both and generally prefer IPv6, falling back to IPv4 quickly if the IPv6 connection doesn't come up (the "Happy Eyeballs" algorithm, RFC 8305).

The fields

Field Example Meaning
Name example.com. The host the record is for (@ = the apex)
TTL 3600 Seconds a resolver may cache the answer
Class IN Internet
Type AAAA IPv6 address record
Data 2001:db8::1 One IPv6 address, in standard colon notation

Runs of zero groups can be shortened once with ::, and leading zeros in a group can be dropped, so 2001:0db8:0000:0000:0000:0000:0000:0001 and 2001:db8::1 are the same address. The data must be an address, never a hostname.

Common setups

  • GitHub Pages: the apex gets four AAAA records, 2606:50c0:8000::153, 2606:50c0:8001::153, 2606:50c0:8002::153 and 2606:50c0:8003::153, alongside its four A records.
  • Cloudflare: proxied records answer with Cloudflare's IPv6 addresses even when your origin only has IPv4, so visitors get IPv6 for free.
  • Your own server: add an AAAA only once the web server actually listens on IPv6 (listen [::]:443 in nginx) and the firewall allows it.
  • IPv4-only on purpose: simply publish no AAAA record. Clients then use IPv4.

How to check it

Look up the AAAA records with our DNS Lookup, or see whether every resolver already has the new value with the DNS Propagation Checker. In a terminal:

dig example.com AAAA +short
dig @2606:4700:4700::1111 example.com AAAA
nslookup -type=AAAA example.com
curl -6 -I https://example.com

curl -6 forces IPv6, which tells you whether the address in DNS actually serves the site.

Common mistakes

  • An AAAA record for a server that doesn't answer on IPv6. IPv6 users see slow loads or failures while everyone testing from IPv4 sees nothing wrong. Remove the record or fix the listener.
  • TLS certificate or virtual host bound only to the IPv4 address. The IPv6 path then serves the wrong site or certificate; check it with the SSL Checker from an IPv6 vantage point, or with curl -6.
  • Stale AAAA after a move. Migrations often update the A record and forget the AAAA, so IPv6 visitors keep reaching the old host.
  • Mail servers: if your mail host has an AAAA record, its IPv6 address needs a matching PTR record too, or receivers such as Gmail may reject mail sent over IPv6.