DNS Record Checker

A, AAAA, MX, TXT, NS, CNAME and more, with the TTL on every record.

What each record type is for

TypePoints toUsed for
AAn IPv4 addressWhere a name's website lives
AAAAAn IPv6 addressThe same, over IPv6
CNAMEAnother nameAn alias, resolved in turn
MXA mail server, with a priorityWhere email for the domain is delivered
TXTFree textSPF, DKIM, DMARC and ownership verification
NSA name serverWhich servers are authoritative for the domain
SOAThe zone's own detailsSerial number and refresh timings
CAAA certificate authorityWhich authorities may issue certificates for the domain

TTL is why a change has not appeared yet

Every record carries a time to live: the number of seconds a resolver is allowed to cache it. Until that expires, resolvers keep answering with the value they already have, regardless of what you changed at the registrar. A record with a TTL of 86400 can take a full day to disappear everywhere.

The practical consequence is that a migration has to be planned backwards. Drop the TTL to 300 a day before the change, make the change, then raise it again once traffic has settled. Doing it the other way round means a day of split traffic with no way to hurry it along.

A CNAME cannot share a name

A CNAME says "this name is really that other name", so nothing else may exist alongside it. That is why a bare domain usually cannot be a CNAME: it already needs NS and SOA records, and often MX as well. Hosts that appear to allow it are doing something else underneath, usually flattening the alias to an A record when they answer.

The three TXT records that matter for email

SPF, DKIM and DMARC are all TXT records rather than types of their own, which is why they can be hard to find. They are labelled automatically in the results above.

WhatWhere it livesSays
SPFA TXT record on the domain, starting v=spf1Which servers may send mail as this domain
DKIMA TXT record on a selector, such as k1._domainkeyThe public key that signs outgoing mail
DMARCA TXT record on _dmarcWhat to do with mail that fails the other two

DKIM is the one that cannot be found by looking at the domain alone, because the selector is chosen by whoever sends your mail and there is no way to enumerate selectors. Your mail provider will tell you which one it uses.

MX priorities read backwards

A lower number is a higher priority. A sending server tries the lowest first and falls back to the next if it cannot connect, which is what makes a second MX record a failover rather than a spare. Records sharing a number split the traffic between them.

How to use it

Type a domain and press Look up. A full address works too, so pasting a URL is fine; the host is taken out of it. Leave the type on All common records for an overview, or pick one to see only that. Results show the record, its value and its TTL, with SPF, DKIM and DMARC labelled where present.

Questions

Why do I still see an old record after changing it?

Because of the TTL. A record tells resolvers how many seconds they may cache it, and until that time expires they keep answering with the old value. A record with a TTL of 86400 can take a full day to disappear everywhere. Lowering the TTL a day before a planned change is what makes a fast switch possible.

What is the difference between an A record and a CNAME?

An A record points a name straight at an IP address. A CNAME points a name at another name, which then has to be resolved in turn. A CNAME cannot coexist with other records on the same name, which is why it is not allowed on a bare domain that also needs MX or NS records.

Where are my SPF and DMARC records?

Both are TXT records rather than types of their own. SPF is a TXT record on the domain starting v=spf1, and DMARC is a TXT record on the _dmarc subdomain. Both are picked out and labelled in the results here.

Why does a domain have several MX records?

For failover. Each carries a priority, and a sending server tries the lowest number first, moving to the next if it cannot connect. Equal numbers share the load between them. A lower number is a higher priority, which reads backwards until you are used to it.

Is my lookup sent to a third party?

No. The query is made by this server using its own resolver rather than being passed to a commercial lookup API, so the domain you check is not shared with anyone else.