Overview
Queries DNS records for any domain through Cloudflare's public 1.1.1.1 resolver over HTTPS. Choose a record type from A, AAAA, CNAME, MX, TXT, or NS, press Lookup, and see each answer with its name and TTL. This is the one tool on the site that touches the network; everything else runs locally.
How It Works
Type a domain such as example.com; a leading https:// or a path is stripped automatically. Pick the record type from the dropdown and press Lookup, or press Enter in the domain field. Results are listed one per line with the record name, its TTL in seconds, and the record data, matching the answer section of the DNS response. If the domain has no records of the chosen type, you get a no-records message that includes the DNS status code from the resolver. Connection failures show an explicit error since the query depends on reaching Cloudflare.
Step-by-Step Usage Guide
- Enter the domain, with or without the https:// prefix.
- Select the record type: A, AAAA, CNAME, MX, TXT, or NS.
- Press Lookup or Enter and read the answers with their TTLs.
- If no records are returned, check the DNS status code in the message for the reason.
Technical Specifications & Standards
The query goes to https://cloudflare-dns.com/dns-query with the accept header set to application/dns-json and the name and type as query parameters, which is Cloudflare's implementation of the Google-origin DNS-over-HTTPS JSON API rather than the binary RFC 8484 wireformat; GET plus JSON is what makes it callable from a browser page. Because it is HTTPS, the resolver sees the query but nothing on your local network does, which is the usual motivation for DoH. Responses carry a Status field using standard DNS response codes, where 0 is NOERROR and 3 is NXDOMAIN, and the tool surfaces that code when the Answer array is empty, which is how you distinguish an empty-but-valid domain from a nonexistent one. TTLs are the remaining time-to-live from Cloudflare's cache, not the zone's authoritative value, so a freshly cached record shows its full TTL and a long-cached one shows a small number; do not read TTLs here as configuration. MX answers are returned with their priority prepended in the data field, and TXT answers arrive as one string that may be split into multiple character-strings by the protocol.
Targeted Use Cases
- Checking whether a new DNS record has propagated to a public resolver.
- Verifying MX and TXT records, including SPF entries, after a mail setup change.
- Looking up the target of a CNAME or the nameservers of a delegated domain.
- Debugging why a service cannot resolve a hostname from outside your network.
Notes & Gotchas
- Query the apex domain for A and NS records; a hostname CNAME will not answer an A query the way you expect on some zones.
- Treat TTLs as cache state at Cloudflare, not the authoritative value from your zone.
- If the lookup fails entirely, check your connectivity first; the tool explicitly depends on reaching cloudflare-dns.com.
- Run the same query twice to see whether a change has propagated; consistent answers across queries mean the cache has caught up.
Frequently Asked Questions
Is this lookup private?
The query is encrypted to Cloudflare's 1.1.1.1 resolver over HTTPS, so local network operators cannot read it, but Cloudflare sees the query. This is the only tool on the page that makes a network request.
Why does the TTL look different from what I configured?
The TTL in the answer is the remaining life of Cloudflare's cached copy. It counts down from your configured value as the cache ages, so it is usually lower than the zone's setting.
What does status 3 mean when no records are found?
Status 3 is NXDOMAIN: the queried name does not exist at all. Status 0 with no answers means the name exists but has no records of the type you asked for.
Can I query record types other than the six listed?
No. The dropdown offers A, AAAA, CNAME, MX, TXT, and NS only. Other types such as SRV, CAA, or DS are not exposed by this tool.