DNS Record Types
A and AAAA Records: Pointing a Domain to an IP Address
8 min read · Updated 2026-06-19
When someone types your domain into a browser, DNS has to turn that name into a numeric address a computer can actually connect to. The two records that do this job are the A record (for IPv4 addresses) and the AAAA record (for IPv6 addresses). They are the most fundamental records for putting a website or service online.
This guide walks through what each record holds, how they fit together on a modern dual-stack site, and the small mistakes — wrong IPs, missing AAAA records, and stale caches during a migration — that cause most "my site is down" tickets.
What an A record is
An A record (short for "address") maps a hostname to a single IPv4 address. IPv4 addresses are 32-bit numbers written as four dot-separated decimals — for example 198.51.100.10. Each number falls between 0 and 255.
When a resolver looks up example.com and finds an A record, it learns "to reach this name over IPv4, connect to this address." It is the most common record type in DNS, and for many years it was the only one most sites needed.
What an AAAA record is
An AAAA record (pronounced "quad-A") does the same job for IPv6. IPv6 addresses are 128-bit numbers written as groups of hexadecimal digits separated by colons — for example 2001:db8::1. The name "AAAA" comes from the fact that an IPv6 address is four times the size of an IPv4 address.
IPv6 exists because the world ran out of spare IPv4 addresses. A growing share of clients — especially mobile networks — prefer IPv6 when it is available, so publishing an AAAA record alongside your A record lets those users connect natively instead of through translation. See IPv4 vs IPv6 for the bigger picture.
Anatomy of the record
Whether you are editing an A or an AAAA record, you fill in the same handful of fields:
- Name (host): the hostname the record applies to, such as the apex
example.comor a subdomain likewww.example.com. Many DNS editors show this as@for the apex. - Type:
Afor IPv4 orAAAAfor IPv6. - TTL: the time-to-live, in seconds — how long resolvers may cache this answer before checking again. See TTL and propagation.
- Value (data): the address itself — a dotted-decimal IPv4 for an A record, or a colon-separated IPv6 for an AAAA record.
That is the whole record. The only real difference between A and AAAA is the kind of address that goes in the value field.
A worked example
Here is a small, complete record set for example.com that serves both IPv4 and IPv6 at the apex and on www:
| Name | Type | TTL | Value |
|---|---|---|---|
| example.com | A | 3600 | 198.51.100.10 |
| example.com | AAAA | 3600 | 2001:db8::10 |
| www.example.com | A | 3600 | 198.51.100.10 |
| www.example.com | AAAA | 3600 | 2001:db8::10 |
A visitor whose network supports IPv6 will typically use the AAAA record and connect to 2001:db8::10; a visitor on IPv4-only will use the A record and connect to 198.51.100.10. Both reach the same server, so the experience is identical.
Multiple A and AAAA records
A single name can have more than one A record (and more than one AAAA record). When it does, the DNS server hands back the full list, and the client picks one to connect to. Rotating which address appears first is called round-robin DNS, and it is a simple way to spread traffic across several servers.
It is worth being precise about what this does and does not give you. Round-robin is not true load balancing: DNS has no idea which server is busy, healthy, or even reachable. The client chooses (modern clients use "happy eyeballs" to race IPv4 and IPv6 and fall back quickly), so a dead server in the list can still cause slow or failed connections until you remove it. For real health-aware distribution you want a load balancer behind a single record, not many records.
Apex vs subdomain (and why the apex usually needs A/AAAA)
The apex (or root) of your domain is the bare name, example.com, with no host in front. A subdomain is anything to the left, like www, blog, or api.
On a subdomain you can often point at a provider's hostname with a CNAME record instead of an IP. At the apex you usually cannot: standard DNS rules forbid a CNAME on a name that also has other records (and the apex always has SOA and NS records), so the apex generally needs real A and AAAA records with literal IP addresses. Some DNS providers offer a workaround called ALIAS or ANAME / "CNAME flattening" that resolves the target for you and answers with A/AAAA, but the record published at the apex is still an address record.
A, AAAA, and dual-stack IPv6
Publishing both an A and an AAAA record for the same name makes your site dual-stack: reachable over IPv4 and IPv6 at once. This is the recommended setup for almost every public service today.
Two things to keep in mind. First, an AAAA record is a promise that your server actually listens on that IPv6 address — if it does not, IPv6-preferring clients can stall before falling back to IPv4. Second, the A and AAAA records are independent; updating one does not touch the other, so it is easy to fix an IPv4 address and forget the matching IPv6 one. For more on the two protocols, see IPv4 vs IPv6.
TTL considerations during a migration
The TTL on your A and AAAA records controls how long resolvers around the world cache the old address. If your TTL is 86400 (one day) and you change the IP, some visitors can keep hitting the old server for up to a day after the change goes live.
Before a planned move to a new IP, lower the TTL first — for example to 300 seconds (five minutes) — and wait for the old, longer TTL to expire so caches everywhere have picked up the short value. Then make the address change: it will propagate quickly, and you can raise the TTL back up once you have confirmed the new server is serving traffic. TTL and propagation covers the timing in detail.
Common mistakes
- Pointing at the wrong IP. A transposed digit or an internal/old address sends visitors nowhere. Confirm the exact address with your host before you save.
- Forgetting the AAAA record. Adding only an A record leaves IPv6 users routed through translation (or failing on IPv6-only networks). If your server supports IPv6, publish the AAAA too.
- Updating only one of the pair. Because A and AAAA are separate records, changing the IPv4 address while leaving a stale IPv6 address sends half your traffic to a dead server.
- Stale records after a TTL you forgot to lower. A long TTL means the old answer lingers in caches well after you make a change.
- Mixing a CNAME with A/AAAA on the same name. A name with a CNAME cannot also have A or AAAA records; DNS treats that as invalid.
How to check yours on who.is
To see what a domain currently publishes, run a DNS lookup on who.is and read the A and AAAA rows — they show the live IPv4 and IPv6 addresses every resolver is handing out, along with each record's TTL.
If you want to go the other direction and find out which domains point at a given address, an IP lookup shows who an address is registered to, and a WHOIS lookup covers the registration details of the domain itself.
Key takeaways
- An A record maps a name to a 32-bit IPv4 address (like 198.51.100.10); an AAAA record maps it to a 128-bit IPv6 address (like 2001:db8::1).
- Publishing both makes your site dual-stack — reachable over IPv4 and IPv6 — which is the recommended setup today.
- A name can have several A or AAAA records for round-robin, but the client picks one; this spreads traffic, it does not health-check it.
- The apex generally needs literal A/AAAA records, not a CNAME, because a CNAME cannot coexist with other records at the root.
- Lower your TTL before a planned IP change so the switch propagates quickly, and never update just one of the A/AAAA pair.
Check a domain’s A & AAAA records
Look up the live A (IPv4) and AAAA (IPv6) records for any domain on who.is.
Frequently asked questions
What's the difference between an A and an AAAA record?▾
Both point a name at an IP address; they differ in the kind of address. An A record holds a 32-bit IPv4 address in dotted-decimal form, like 198.51.100.10. An AAAA record holds a 128-bit IPv6 address in colon-separated hexadecimal, like 2001:db8::1. Most public sites publish both.
Do I need an AAAA record?▾
You need one if your server has a working IPv6 address and you want IPv6 clients — increasingly common on mobile networks — to connect natively. If your server is IPv4-only, an A record is enough. Just don't publish an AAAA record for an address your server isn't actually listening on, or IPv6-preferring clients may stall before falling back.
Can a domain have multiple A records?▾
Yes. A name can have several A records (and several AAAA records). The DNS server returns the whole list and the client picks one, which is the basis of round-robin DNS. It spreads traffic across servers but does not check whether any of them is healthy, so it is not a substitute for a real load balancer.
Why can't I use a CNAME at the apex?▾
Standard DNS rules say a name with a CNAME cannot also have other records, but the apex always carries SOA and NS records — so a CNAME there is invalid. That's why the apex normally needs literal A and AAAA records. Some providers offer ALIAS/ANAME or "CNAME flattening" that resolves a target and answers with A/AAAA on your behalf.
I changed my A record but the old site still loads — why?▾
Almost always caching. Resolvers hold your old answer for as long as the record's TTL allows, so if the TTL was long (say a day), some visitors keep reaching the old IP until that cache expires. Lower the TTL before a planned change, wait for the old value to age out, then switch. See TTL and propagation.
How do I see the A and AAAA records for a domain?▾
Run a DNS lookup on who.is and read the A and AAAA rows — they list the live IPv4 and IPv6 addresses resolvers are returning, along with each record's TTL.