cnames.dev / tools / cname checker
CNAME Checker
Resolve a domain's CNAME chain from two independent resolvers, flag apex issues, and verify it points where you expect. No signup, results in under a second.
What a CNAME record does
A CNAME (Canonical Name) record makes one hostname an alias for another. When a resolver looks up app.customer.com and finds a CNAME to edge.cnames.dev, it restarts resolution at the target and follows it to a final A/AAAArecord. That indirection is what lets a customer point their domain at your platform without ever touching an IP address — and it's why CNAMEs are the backbone of custom domains for SaaS.
Reading the CNAME chain
A lookup can traverse several hops: app.customer.com → xyz.saas.com → edge.provider.net → 203.0.113.10. The checker above follows each hop and shows the full path from two resolvers (Cloudflare and Google). Comparing resolvers catches inconsistent or partially-propagated records — if one shows the new target and the other still shows the old one, the change is mid-propagation.
The CNAME-at-apex problem
You cannot put a CNAME on a root domain (example.com). DNS requires the apex to carrySOA and NS records, and a CNAME is not allowed to coexist with other records at the same name. Attempting it either fails or silently breaks mail and other records. The fixes:
- Use
A/AAAArecords pointing at the provider's IPs. - Use a DNS provider that supports
ALIAS/ANAMEflattening (Cloudflare, Route 53, and others resolve the target and answer with A records at the apex). - Point
wwwwith a CNAME and redirect the apex to it.
Common CNAME errors, and how to fix them
Wrong or stale target
The record exists but points at the wrong host. Enter your expected target in the field above to confirm the final hop matches what your provider told you to use.
Dangling CNAME (takeover risk)
A CNAME pointing at a target you no longer control lets someone else potentially claim it and serve content on your subdomain. Delete CNAMEs for services you've stopped using.
Conflicting records
A CNAME cannot sit alongside other records (like TXT or MX) at the same name. If a verification TXT and a routing CNAME are both needed, put theTXT on a dedicated subname such as _acme-challenge.
Propagation delay
After changing a record, resolvers keep the old value until its TTL expires. Lower the TTL a day before a planned change so the switch is fast, and re-run this checker to confirm both resolvers agree.
CNAMEs and custom domains for SaaS
If you run a SaaS, every customer who wants their own domain sets a CNAME (or apex A records) to your platform — then you have to issue a TLS certificate for it, route it to the right tenant, and keep it renewed. That last part is the hard part, and it's what we do.
Building a SaaS that needs custom domains? cnames.dev automates the CNAME, SSL, and edge routing — one API call per domain, free for 25 domains. Start free or read the docs.
Frequently asked questions
What is a CNAME record?
A CNAME (Canonical Name) record maps one hostname to another. When a resolver looks up the alias, it is told to continue resolving at the target hostname instead. It is how app.customer.com can point at a provider like edge.cnames.dev without the customer managing IP addresses.
Why can't I use a CNAME on my root domain?
The DNS spec forbids a CNAME coexisting with other records at the same name, and the apex (example.com) must carry SOA and NS records. So a CNAME at the apex is invalid. Use A/AAAA records, or a DNS provider that offers ALIAS/ANAME flattening.
How long does a CNAME take to propagate?
It is governed by the record's TTL and your resolver's cache — usually minutes to a couple of hours, occasionally up to 24–48 hours if the old record had a long TTL. Lowering the TTL before a change speeds up the switch.
What is a dangling CNAME?
A CNAME that points to a target that no longer exists or is no longer controlled by you. Dangling CNAMEs are a subdomain-takeover risk: if someone else can claim the target, they can serve content on your subdomain. Remove CNAMEs you no longer use.
Is this CNAME checker free?
Yes. It runs entirely against public DNS-over-HTTPS resolvers, needs no signup, and returns results in under a second.