AAAA Record Explained: The DNS Record Behind Every IPv6 Address

Everything an A record does for IPv4, an AAAA record does for IPv6 — but the 4x jump in address size changes more about how it behaves in practice than most explanations let on.

📅 Published July 2026· ⏳ 19 min read· ✍️ ToolsNovaHub Editorial Team
🛠️ Related tool: Open AAAA Record Lookup →

The Record IPv6 Traffic Ultimately Depends On

Strip DNS down to its literal job and it's this: turning a name a person types into an address a network can route packets toward. For thirty-plus years, that job belonged almost entirely to the A record. Then IPv6 arrived with an address space so large it needed a fundamentally bigger container — 128 bits instead of 32 — and DNS needed a new record type to carry it. That record is the AAAA record, and despite looking like a typo the first time anyone sees it, it does exactly what an A record does, just for a much larger number.

This matters more than it first appears, because IPv6 adoption isn't a future consideration anymore — it's already carrying a meaningful, steadily growing share of global internet traffic, and a domain's AAAA record (or lack of one) directly determines whether IPv6-native visitors reach it the efficient way or fall back to a translated, sometimes slower IPv4 path. Understanding this record properly means understanding both its mechanics and the practical consequences of publishing it, or not.

ToolsNovaHub Pro Tip
When auditing IPv6 readiness across a portfolio of domains, check the AAAA record at both the apex and the www subdomain separately — teams frequently enable IPv6 on one and forget the other, leaving an inconsistent experience depending on which hostname a visitor happens to type.
⚠️
Common Beginner Mistake
Pointing an AAAA record at an IPv4 address, or worse, at a hostname. An AAAA record's value must be a syntactically valid IPv6 address — nothing else. For pointing at another hostname, a CNAME is the correct record type regardless of which address family the target eventually resolves to.

Why "AAAA" and Not Just "A6" or "B"

The naming decision looks arbitrary until the underlying math is laid out. An IPv4 address occupies 32 bits. An IPv6 address occupies 128 bits — precisely four times larger. When the IETF was standardizing DNS support for IPv6 in the 1990s, RFC 1886 (later superseded by RFC 3596) settled on quadrupling the letter A as a deliberate mnemonic for that 4x jump, rather than simply assigning the next unused letter in the alphabet. It's an unusual naming convention by modern standards, but once the "four times the size" logic clicks, "AAAA" stops looking like an odd typo and starts looking like a small, clever piece of protocol design.

Worth noting: an earlier, now-abandoned proposal called A6 also existed briefly during IPv6's DNS standardization process, designed to support more flexible address renumbering through record indirection. It was deprecated in RFC 6563 for adding complexity that didn't pay for itself in practice — AAAA's simpler, flatter approach won out, and it's the only IPv6 address record type in production use today.

Anatomy of an AAAA Record

Structurally, an AAAA record mirrors an A record almost exactly — a name, a record type, a TTL, and a value — except that value must be a syntactically valid 128-bit IPv6 address instead of a 32-bit IPv4 one. There's no priority field, no weighting, no additional metadata baked into the record format itself. Whatever complexity IPv6 introduces lives in how the address space and surrounding infrastructure work, not in this specific record's structure.

example.com.       3600  IN  AAAA  2606:4700:4700::1111
www.example.com.   3600  IN  AAAA  2606:4700:4700::1111
api.example.com.   300   IN  AAAA  2001:db8:85a3::8a2e:370:7334

IPv6 addresses support a compression shorthand that IPv4 never needed: a single run of consecutive all-zero groups can be collapsed to a double colon (::), and leading zeros within any group can be dropped. 2606:4700:4700:0000:0000:0000:0000:1111 and 2606:4700:4700::1111 refer to the exact same address — the shorter form is purely a notational convenience, never a different value, and only one :: compression is permitted per address to keep the shorthand unambiguous.

How Resolution Actually Differs From an A Record Lookup

The resolution chain itself — stub resolver, recursive resolver, root servers, TLD servers, authoritative servers — works identically regardless of whether the query asks for an A or AAAA record type. What differs is the query type field sent in the DNS request (type 28 for AAAA versus type 1 for A) and, critically, what happens when no matching record exists.

  1. Client sends a type-28 query. A browser or application requests specifically the AAAA record for a hostname, separately from any A record request.
  2. Resolver walks the same chain. Root, then TLD, then authoritative nameservers — no different from an A record lookup structurally.
  3. Authoritative server answers, or returns nothing. If the zone has no AAAA record for that name, the server returns a successful empty answer (NOERROR with no data), not an error — this distinction trips up a lot of debugging.
  4. Client falls back if needed. If no AAAA record came back but an A record exists, IPv4-capable clients simply use that instead, usually without the user noticing anything happened.

That third step is worth sitting with: an empty AAAA response is not the same thing as a DNS error, and treating it as one is a common source of confused troubleshooting. A domain that's IPv4-only by design will correctly and normally return "no AAAA records found" every single time it's checked — that's expected behavior, not a broken configuration.

AspectA RecordAAAA Record
DNS query type number128
Address size32 bits128 bits
NotationDotted decimalColon-separated hexadecimal
Compression shorthandNone:: for zero runs, leading zeros dropped
Defining RFCRFC 1035 (1987)RFC 3596 (2003)
Empty result meaningDomain has no IPv4 presence at that nameDomain has no IPv6 presence at that name — not an error

Reading an IPv6 Address in an AAAA Record

An IPv6 address breaks into two conceptual halves for most global unicast addresses: a 64-bit network/routing prefix, assigned by an ISP or allocated to an organization, and a 64-bit interface identifier, which historically was often derived from a device's MAC address (EUI-64) though modern operating systems increasingly use randomized identifiers for privacy instead. An AAAA record doesn't care about that internal structure — it just stores the full 128-bit value — but understanding the split helps explain why IPv6 addressing feels so different operationally from the scarce, carefully rationed IPv4 space: there's genuinely enough room to hand out entire /64 subnets, sometimes larger, to individual customers or even individual devices, without anyone worrying about running out.

Multiple AAAA Records and How Clients Choose

Just like A records, a hostname can carry several AAAA records simultaneously — common for load-balanced or geo-distributed infrastructure. Resolvers can return them in any order, and the requesting client's operating system typically applies its own address-selection logic (commonly following RFC 6724's rules) to decide which to try first, factoring in things like matching address scope and prefix length to the client's own configured addresses. In dual-stack environments, that selection also interacts with Happy Eyeballs (RFC 8305), the algorithm that races an IPv6 attempt against an IPv4 attempt in parallel and uses whichever completes its handshake first — usually IPv6, on networks where it's genuinely well-provisioned end to end.

Caching and TTL Behavior

TTL works identically for AAAA as it does for any other record type — it's simply how long, in seconds, a resolver is permitted to serve a cached answer before it's obligated to re-query. A freshly published or changed AAAA record doesn't reach every resolver worldwide instantly; each one continues answering from its previously cached value until that specific cache entry's TTL expires, which is precisely why a DNS change can appear live from one location and stale from another for a window entirely explained by caching mechanics, not by anything actually broken in the change itself.

Why Some Domains Still Don't Publish One

Despite IPv6's steady growth, plenty of well-run, high-traffic domains remain IPv4-only by deliberate choice, and it's rarely negligence. Common, entirely reasonable causes include a legacy load balancer or firewall appliance that doesn't support IPv6 cleanly, a third-party CDN or hosting contract that hasn't enabled it by default, an internal compliance requirement that hasn't been updated to account for dual-stack operation, or simply a team that's prioritized other work because their current IPv4 setup functions without complaint. None of these are wrong decisions on their own — they're trade-offs, and "no AAAA record" should be read as a snapshot of current infrastructure choices, not as a mistake to immediately flag.

Security Considerations Specific to AAAA

An AAAA record doesn't introduce meaningfully different risk on its own — exposure risk comes from what's actually listening on the address, identical to IPv4. What does change with IPv6's vastly larger space is that brute-force scanning across an entire subnet becomes computationally infeasible in a way IPv4 subnet scanning simply isn't, which is a genuine, if modest, security benefit. The more operationally relevant risk is configuration drift: teams that carefully lock down IPv4 firewall rules sometimes leave IPv6 rules at a permissive default, effectively leaving a second, unguarded path into the same infrastructure — auditing both stacks with equal rigor is non-negotiable once AAAA records are in production.

Common Mistakes

MistakeWhy It Causes Problems
Assuming no AAAA record is always an errorIt's frequently a deliberate, valid configuration — treat it as information, not a bug report
Publishing AAAA without testing real IPv6 connectivityThe DNS record existing doesn't confirm the origin server actually accepts IPv6 connections
Mirroring IPv4 firewall rules incompletelyLeaves the IPv6 path unintentionally more permissive than the IPv4 path for the same service
Ignoring Happy Eyeballs masking effectsA working browser experience doesn't confirm IPv6 is actually healthy — it may just be falling back silently
Forgetting monitoring tools often check IPv4 only by defaultAn IPv6-specific outage can go completely undetected without explicit dual-stack monitoring

Best Practices

Publish AAAA alongside A wherever infrastructure genuinely supports it, rather than IPv6-only, unless every consuming client is guaranteed IPv6-capable (true for a lot of internal infrastructure, rarely true for the open public internet). Keep TTLs at a sensible middle ground — long enough to limit unnecessary query volume, short enough to allow a genuine emergency cutover without excessive delay. Monitor both address families independently instead of assuming one implies the health of the other, and treat firewall parity between IPv4 and IPv6 as a recurring audit item rather than a one-time setup task.

Real-World Examples

🌐
Public Website (Dual-Stack)
A typical production website publishes both A and AAAA records so every visitor connects natively regardless of which stack their ISP prioritizes for that particular route.
🏢
Enterprise Internal APIs
Fully modern, internally provisioned data-center networks increasingly deploy internal services IPv6-only, since every internal client is guaranteed to support it by policy.
🌐
ISP Customer Assignments
Many residential ISPs now hand every customer an IPv6 prefix alongside a CGNAT'd IPv4 address, making AAAA support on the destination genuinely improve connection quality.
☁️
Cloud Load Balancers
Cloud load balancers commonly publish a separate IPv6 front-end address that routes through IPv6-aware infrastructure end to end, distinct from the IPv4 front end entirely.
📡
CDN Edge Nodes
CDNs frequently serve different edge addresses for IPv4 versus IPv6 requests, meaning checking both records separately can surface edge-routing differences worth knowing about.
📱
Mobile Carrier Networks
Many mobile carriers run IPv6-first internally, translating to IPv4 only when the destination lacks an AAAA record — meaning IPv6-ready destinations sometimes see meaningfully better mobile performance.

AAAA Records Across Major DNS Providers

Every major managed DNS provider — Cloudflare, AWS Route 53, Google Cloud DNS, Azure DNS, and standard registrar panels — treats AAAA as a fully first-class record type with the same add-record workflow used for an A record, just selecting AAAA from the type dropdown and pasting in an IPv6 address instead. Where providers meaningfully differ is in supporting tooling: some flag a hostname with an A record but no matching AAAA as an IPv6-readiness gap directly in their dashboard, and Cloudflare specifically can synthesize an AAAA response at the edge even for origins that are internally IPv4-only, terminating IPv6 at the proxy layer and translating to IPv4 on the way to origin — worth knowing, because it means a working AAAA lookup through a Cloudflare-proxied domain doesn't necessarily confirm your actual origin server supports IPv6 natively.

ProviderAAAA Record SupportNotable Behavior
CloudflareFull, dashboard-nativeCan proxy/synthesize IPv6 at the edge even for IPv4-only origins
AWS Route 53FullSupports AAAA in alias records for AWS-native resources like ALBs and CloudFront
Google Cloud DNSFullStandard record management, no synthesis behavior
Azure DNSFullStandard record management, integrates with Azure Traffic Manager for dual-stack routing
Registrar-level DNS panelsFull on virtually all modern registrarsBehavior identical to A record management, just a different type selector

Command-Line Reference: Checking an AAAA Record Yourself

Beyond any DNS lookup tool, verifying an AAAA record from a terminal is a single command on every major platform, and knowing all of them is genuinely useful since not every environment has every tool installed:

PlatformCommand
Linux / macOS (dig)dig example.com AAAA +short
Linux / macOS (host)host -t AAAA example.com
Windows (nslookup)nslookup -type=AAAA example.com
Windows (PowerShell)Resolve-DnsName -Type AAAA example.com
Full resolution trace (any dig install)dig AAAA example.com +trace

The +trace flag is particularly valuable when an AAAA lookup behaves unexpectedly — it walks the entire resolution chain manually, root servers through TLD servers through the domain's own authoritative servers, exposing exactly where a delegation or configuration problem actually sits rather than just returning a final empty or failed answer with no context about why.

DNSSEC and AAAA Records

DNSSEC — the cryptographic signing layer that protects DNS answers from tampering and cache poisoning — applies to AAAA records exactly the same way it applies to A records or any other record type in a signed zone; there's no IPv6-specific carve-out in how DNSSEC itself functions. What's worth double-checking during an IPv6 rollout is that DNSSEC signing was actually re-verified after adding new AAAA records, since a misconfigured signing pipeline can occasionally produce validation failures for newly added record types even when the zone's overall DNSSEC status appears healthy at a glance.

A Practical IPv6 DNS Rollout Checklist

✅ Confirm origin infrastructure is genuinely IPv6-ready first
Add the AAAA record only after confirming the actual server, load balancer, or CDN behind it accepts real IPv6 connections — the DNS record alone changes nothing about server capability.
✅ Mirror firewall rules across both stacks before going public
Verify IPv6 firewall and security-group rules match IPv4 rules in scope before the AAAA record becomes publicly resolvable.
✅ Extend monitoring to test the AAAA-resolved path explicitly
Add dedicated IPv6 health checks — don't assume existing IPv4 monitoring implicitly covers the new address family.
✅ Test from a genuinely IPv6-connected network before declaring done
A resolving AAAA record confirms DNS is correct; it doesn't confirm the full connection path actually works end to end.

Pros & Cons of Publishing an AAAA Record

ProsCons
Reaches IPv6-native visitors without an extra translation hopAdds a second address family to firewall, monitoring, and security auditing
Often slightly lower latency on well-provisioned IPv6 networksA partially broken IPv6 path can be masked by Happy Eyeballs, delaying detection
Future-facing as global IPv6 adoption keeps growingRequires genuinely testing connectivity, not just DNS resolution
Removes reliance on IPv4 CGNAT for those specific visitorsNot every legacy piece of infrastructure supports it cleanly yet

Expert Tips

🎓
Never Evaluate AAAA in Isolation
Always compare it against the domain's A record — that comparison is what actually tells you whether a hostname is dual-stack, IPv6-only, or IPv4-only.
🔧
Trust dig +trace for Delegation Problems
When an AAAA lookup misbehaves in a way that doesn't make sense, a full trace almost always reveals exactly which step in the resolution chain is actually failing.
🔐
Re-Verify DNSSEC After Adding New Record Types
Don't assume a healthy DNSSEC status automatically extends cleanly to a newly added AAAA record — a quick validation check after the change costs almost nothing.

Related Tools

Check any hostname's live AAAA record with AAAA Record Lookup. For the IPv4 side of the same hostname, use A Record Lookup. For the full record picture — AAAA, A, MX, TXT, NS, CNAME — use DNS Lookup, and to check IPv6 address geolocation or type directly, try IPv6 Lookup. Ready to set one up yourself? See Configure AAAA, or read the broader IPv6 DNS Records guide for everything else IPv6 touches in a DNS zone.

FAQ

It isn't an acronym — it's a mnemonic. An IPv6 address is 128 bits, exactly four times a 32-bit IPv4 address, so the record type quadruples the letter A used for the original address record.
No. A domain with only an A record still works perfectly over IPv4. An AAAA record simply adds the ability to be reached over IPv6 as well.
No. Its value must be a literal IPv6 address. To point at another hostname, use a CNAME record instead.
A6 offered more flexible address-renumbering through record indirection, but added complexity that didn't pay for itself. It was deprecated in RFC 6563, leaving AAAA as the standard.
No — a successful query with no matching AAAA record returns a normal empty answer, not an error. It simply means that hostname has no published IPv6 address.
No protocol-level limit. Multiple AAAA records for the same name are common for load balancing or geo-distribution, each returned as a separate answer.
No — TTL mechanics are identical across record types. It's simply how long, in seconds, resolvers may cache the answer before re-querying.
Often a deliberate infrastructure trade-off — legacy hardware, third-party contracts, or prioritization — rather than an oversight. It simply means that hostname is IPv4-only right now.
The lower 64 bits of many global unicast IPv6 addresses, historically derived from a device's MAC address (EUI-64) though modern systems increasingly randomize it for privacy.
Operating systems apply address-selection rules (commonly RFC 6724) alongside Happy Eyeballs (RFC 8305), which races IPv4 and IPv6 attempts in parallel and uses whichever completes first.
Not inherently — risk depends on what's listening on the address, not the address family. IPv6's size does make brute-force subnet scanning impractical, but that alone isn't a security strategy.
Yes — use the free AAAA Record Lookup tool for an instant, no-signup live query against a public DNS resolver.
Reviewed by: ToolsNovaHub Editorial Team📅 Last updated: July 2026📜 Sourced from: RFC 3596 and standard DNS resolution behavior

ToolsNovaHub tools are built and independently maintained with a focus on accurate, no-signup network and security utilities. Spotted an error? Let us know.

📋 Related Tools & Guides Comparison

ResourceTypeLink
AAAA Record LookupToolOpen Tool →
A Record LookupToolOpen Tool →
IPv6 LookupToolOpen Tool →
IPv6 DNS RecordsGuideRead Guide →
Try it yourself — 100% free
🚀 Open AAAA Record Lookup

🔗 More Guides