Skip to content

DNS Lookup

A DNS lookup asks a resolver what records a name publishes. This tool queries A, AAAA, CNAME, MX, NS, TXT, SOA, CAA, and SRV records for any domain — individually or all at once — and reports each type separately, so you can tell a missing record apart from a domain that does not exist.

What this tool actually queries

Each record type is a separate question. When you choose All types, this tool fires nine independent queries in parallel and reports the outcome of each one on its own: the records returned, or the specific reason none were. That per-type honesty matters, because the three ways a query can come back empty mean completely different things and have completely different fixes.

ResultWhat the resolver saidWhat it means
Records listedNOERROR with an answer sectionThe name exists and publishes this record type.
No records of this typeNOERROR with an empty answer (NODATA)The name exists. It just has nothing of this type. Other types may still work.
Domain not foundNXDOMAINThe name does not exist anywhere in DNS. No record type will ever answer.
Lookup failedSERVFAILThe resolver could not get an answer — broken delegation, unreachable nameservers, or a DNSSEC validation failure.
Query timed outno response at allThe authoritative servers did not reply in time. A network or server problem, not a record problem.
NODATA and NXDOMAIN look identical in most web tools, which is why people spend hours "fixing" an A record on a domain that was never registered. If you see Domain not found, stop editing DNS and check the registration and delegation first.

How to read each record type

  • A — IPv4 addresses. Multiple A records are normal: that is round-robin, or a CDN handing out the nearest edge. See the A record lookup for detail.
  • AAAA — IPv6 addresses. Absent on IPv4-only hosts, which is not an error. Check with the AAAA lookup.
  • CNAME — an alias pointing at another name. A CNAME may never coexist with other data at the same name, which is why the apex of a zone can never be a CNAME. See CNAME lookup.
  • MX — mail routing, lowest preference number wins. Use the MX lookup for a mail-specific view.
  • NS — the nameservers authoritative for the zone. See NS lookup.
  • TXT — free-form text: SPF, verification tokens, and more. See TXT lookup.
  • SOA — the zone apex record carrying the serial number and timers. See SOA lookup.
  • CAA — which certificate authorities may issue for the domain. See CAA lookup.
  • SRV — service location records at _service._proto names. See SRV lookup.
Read the full explanation of dns lookup results ↓

One subtlety worth internalising: a lookup for www.example.com and one for example.com are different questions about different names. Records do not inherit down the tree. If example.com has an MX record and www.example.com does not, that is correct and expected — mail is addressed to the domain, not to the web host.

Where the answers come from

This tool queries through a recursive resolver, which means you are seeing a cached view, not necessarily what the authoritative servers hold at this instant. Every record carries a TTL; until it expires, resolvers keep serving the old value. That is the entire mechanism behind "DNS propagation" — nothing propagates, caches simply expire at different times.

If you have just changed a record and this tool still shows the old value, the change is almost certainly live at the authoritative servers and merely cached here. Confirm with the DNS propagation checker across all 85 resolvers, or compare four major public resolvers side by side with DNS Compare.

Common failures and how to fix them

  1. Everything returns NXDOMAIN. The domain is unregistered, expired, or its delegation is missing. Check the registration with WHOIS and the delegation with an NS lookup. Editing zone records will not help.
  2. Every type returns SERVFAIL. Either the nameservers are unreachable, or the zone is signed and failing DNSSEC validation. Run the DNSSEC checker — a stale DS record after a key rollover produces exactly this and is invisible to non-validating resolvers.
  3. A works but AAAA does not, and some users cannot reach you. A broken or stale AAAA record is worse than none: IPv6-capable clients try it first and hang. Either fix the address or remove the record.
  4. The record you added does not show up. Check for a trailing-dot mistake. In most control panels, example.com in a value field is expanded to example.com.example.com. Also confirm you edited the zone on the nameservers the domain is actually delegated to — moving hosts without updating NS records at the registrar is the single most common cause.
  5. TXT records look truncated. A single TXT string cannot exceed 255 bytes; longer values are split into multiple chunks that must be concatenated. This tool joins them for you, so what you see is the effective value.
  6. The value is right but the site is still down. DNS is only the first hop. Confirm the host is listening with the port checker and the certificate is valid with the SSL checker.

The same lookup from the command line

Everything here maps directly onto dig. The +noall +answer pair strips the output down to just the answer section, which is what you almost always want:

# One record type
dig +noall +answer example.com A
example.com.		300	IN	A	172.66.147.243
example.com.		300	IN	A	104.20.23.154

# Ask a specific resolver rather than your local one
dig @1.1.1.1 +noall +answer example.com A

# Bypass every cache and ask the authoritative server directly
dig +noall +answer @ns0.wikimedia.org wikipedia.org SOA

# Follow the delegation from the root down, one step at a time
dig +trace example.com A
Real dig output — the TTL column (300) is the seconds remaining before the cached copy expires.

The status line tells you which of the empty cases you hit. Run dig example.com MX without +noall and look at status: NOERROR versus status: NXDOMAIN versus status: SERVFAIL in the header — that single word is the difference between "no record", "no domain", and "broken zone".

On Windows, nslookup -type=MX example.com is the closest equivalent, but it hides the response code. If you have WSL or Git Bash, use dig — the extra detail is worth it.

Frequently asked questions

What is the difference between NXDOMAIN and an empty result?
NXDOMAIN means the name does not exist at all — the authoritative servers denied its existence, so no record type will ever resolve. An empty result (NODATA) means the name exists but publishes nothing of the type you asked for; other types may answer normally. Fixing them requires opposite actions: registration or delegation for NXDOMAIN, adding a record for NODATA.
Why do I get different answers than my colleague?
You are querying different resolvers with different cache states, and many large sites deliberately return different addresses depending on where the query came from. Run the same name through DNS Compare to see four major resolvers side by side, and check the TTL — a record with a 3600-second TTL can legitimately differ between two resolvers for up to an hour after a change.
How long until my DNS change is visible everywhere?
At most the TTL of the record you replaced, counted from the moment each resolver last cached it. If the old record had a TTL of 86400, some resolvers will serve the old value for a full day. This is why you lower the TTL a day or two *before* a migration, not during it.
Why does my domain have no CNAME at the apex?
RFC 1034 forbids it. A CNAME must be the only record at its name, and the apex must carry SOA and NS records, so the two cannot coexist. Providers work around this with ALIAS, ANAME, or CNAME flattening, which look like a CNAME in the control panel but are served as A records — which is exactly what you will see here.
Does this tool query the authoritative nameservers directly?
No — it queries through a recursive resolver, the same as a normal client would, so you see what real users see including caching. To read the authoritative servers directly, find them with an NS lookup and then run dig @that-nameserver example.com A.
Can I share a lookup result?
Yes. The share button copies a URL containing the domain and record type, for example ?d=example.com&type=MX. Opening that link re-runs the query live — it is a permalink to the check, not to a stored snapshot, so the data is always current.
Why are underscores allowed in some names but not others?
Hostnames follow stricter rules than DNS names generally. Underscore labels such as _dmarc.example.com or _sip._tcp.example.com are perfectly valid DNS names used for TXT and SRV records; they simply are not valid hostnames for A records. This tool accepts underscore names so DMARC, DKIM, and SRV lookups work.