🔗 CNAME Lookup

Follow the full alias chain a hostname resolves through — every hop, its target, and the final A or AAAA address it lands on — from a live DNS query.

Examples: www.github.com   www.reddit.com   mail.google.com
🕒 Recent Lookups
No recent lookups yet.
Very few hostnames on the internet resolve to an address in a single step anymore. Type a subdomain into a browser and there's a decent chance it doesn't hold an address at all — it holds a pointer to another name, which might point to yet another name, until the chain finally lands on something that actually carries an A or AAAA record. That pointer is a CNAME record, and it's the quiet infrastructure behind almost every CDN, SaaS custom domain, and load-balanced service running today. This page follows that chain live, hop by hop, and below it is a complete reference on how CNAME records work, where they break, and what the alternatives look like when a CNAME simply isn't allowed.
⭐ ToolsNovaHub Pro Tip
When a support ticket says "the domain isn't working" for a service that requires a CNAME, check the chain before touching anything else. A single broken hop — a typo in the target, or a hop pointing at a name that no longer exists — is a far more common cause than the underlying server actually being down.
⚠️ Common Beginner Mistake
Trying to add a CNAME on a root/apex domain (example.com with no subdomain) alongside the domain's required NS and SOA records. Standard DNS forbids any record type coexisting with a CNAME at the same name — the fix is either using the www subdomain instead, or a provider-specific flattening/ALIAS feature built for exactly this case.

🔍 What Is a CNAME Record?

A CNAME record — short for Canonical Name — doesn't store an address at all. Instead, it stores another hostname, and tells any resolver that queries it "the real, canonical answer lives over there." When a resolver hits a CNAME, it doesn't stop; it re-queries using the new target name, and keeps following that pattern until it eventually reaches a record type that actually holds an address, almost always an A or AAAA record. Functionally, a CNAME is an alias — a way of saying two names ultimately mean the same destination, without duplicating or hardcoding the underlying address in more than one place.

This tool exists because that chain is invisible in normal browsing — a browser follows it silently and shows you nothing about the hops in between. Checking it directly matters during CDN setup, SaaS custom-domain configuration, migration work, and troubleshooting, where knowing exactly which hostname is pointing at which is often the entire diagnosis.

📋 Record Structure & Syntax

A CNAME record's structure is about as simple as DNS gets — a name, a TTL, a class, the record type, and a target hostname as the value:

www.example.com.    3600    IN    CNAME    example-hosting.provider.net.

That's the whole record. No address, no priority, no weighting — just a pointer to another name, which the resolver is responsible for following on the querying client's behalf. The trailing dot in the target is the formal representation of a fully qualified domain name; most tooling handles it transparently either way.

⚙️ How This Tool Follows the Chain

When you click Lookup, the tool sends a live query for the hostname's CNAME record. If one exists, it re-queries using that target, and repeats — following every hop exactly the way a real resolver would — until it reaches a name with no further CNAME, at which point it queries that final name for its A and AAAA records and reports the actual resolved address.

1

You Enter a Hostname

Type in the subdomain or hostname you want to trace.

2

The First CNAME Is Queried

If a CNAME exists, its target becomes the next name to query.

3

The Chain Is Followed Hop by Hop

This repeats for every subsequent CNAME until no further alias is found.

4

The Final Address Is Resolved

The last name in the chain is queried for A/AAAA records, and that address is displayed as the final destination.

🔗 Chaining: Why One Hop Becomes Three

It's genuinely common for a single hostname to pass through two or three CNAME hops before landing on an address — a company's custom domain might CNAME to their CDN, which CNAMEs to a regional edge cluster name, which finally holds the A/AAAA record. Each hop exists for a real operational reason: it lets the CDN or platform change its own internal infrastructure addresses without ever requiring every customer to update their DNS, since customers only ever point at a stable alias name, not a raw address that might change.

Longer chains do add a small amount of resolution latency — each hop is technically an additional query — though in practice, resolver caching along the way usually keeps this effectively unnoticeable. Where chaining actually matters operationally is troubleshooting: a broken hop anywhere in that sequence breaks the entire resolution, and finding exactly which hop failed is precisely what a full chain trace like this tool provides.

🎯 The Apex Domain Restriction

One of the most-hit CNAME limitations: a domain's apex (root) — example.com with no subdomain — cannot hold a CNAME record, full stop, according to the original DNS specification. The reason is structural: the apex must also carry NS records (delegating the zone) and an SOA record (zone metadata), and DNS rules forbid any other record type from coexisting at a name that has a CNAME. A CNAME essentially claims "nothing else lives here but this pointer," which directly conflicts with the apex's mandatory records.

This is precisely why so many setup guides tell you to use the www subdomain for CNAME-based services and reserve the apex for an A/AAAA record instead — and it's exactly the restriction that CNAME flattening and ALIAS records, covered next, were invented to work around.

⚙️ CNAME Flattening & ALIAS Records

Because so many services (CDNs especially) want customers pointing their apex domain at a CNAME-style alias, several DNS providers invented a workaround, commonly called CNAME flattening or an ALIAS/ANAME record. Functionally, it lets you configure something that behaves like a CNAME at the apex, while the provider's own infrastructure resolves the target on your behalf and serves a synthesized A/AAAA record to the outside world — satisfying both the apex restriction and the "point at an alias, not a hardcoded IP" convenience a CNAME normally provides.

It's provider-specific rather than a formal DNS standard — Cloudflare calls it CNAME flattening, several others call it an ALIAS or ANAME record — and behavior can differ slightly between implementations, so it's worth reading your specific provider's documentation before relying on it for anything apex-critical.

📋 Comparison Tables

Record TypePoints ToWorks at Apex?
CNAMEAnother hostnameNo — standard DNS restriction
AAn IPv4 address, directlyYes
AAAAAn IPv6 address, directlyYes
ALIAS / ANAMEAnother hostname (provider-synthesized address)Yes, by design
URL Redirect / ForwardingSends an HTTP redirect, not a DNS answerVaries by registrar feature

CNAME vs A Record

FactorCNAMEA Record
Value storedAnother hostnameA literal IPv4 address
Requires extra resolution stepYes, at least one more queryNo — answer is immediate
Survives target IP changes automaticallyYesNo — must be manually updated

CNAME vs ALIAS/ANAME

FactorCNAMEALIAS / ANAME
Standardized in original DNS specYesNo — provider-specific extension
Usable at apex domainNoYes
Resolution mechanismResolver follows the chain itselfProvider resolves and serves a synthesized A/AAAA record

CNAME vs URL Redirect/Forwarding

FactorCNAMEURL Redirect
Layer it operates atDNS — happens before any connection is madeHTTP — happens after a connection is already established
Visible to the browser's address barNo, transparentYes, the URL typically changes
Typical usePointing a hostname at infrastructure transparentlySending visitors from one URL to a different one explicitly

🌐 Real-World Examples

☁️
CDN Custom Domains
Most CDNs have customers CNAME a subdomain (like www or a custom asset domain) to a CDN-provided hostname, letting the CDN manage its own infrastructure addresses invisibly.
📧
SaaS Custom Domains
Email, helpdesk, and website-builder platforms routinely have customers CNAME a subdomain to a platform-controlled name, powering white-labeled custom domains.
🏢
Enterprise Load Balancing
Enterprises frequently CNAME internal service names to a load balancer's stable DNS name rather than hardcoding IPs that could change during infrastructure updates.
💻
Developer Staging Environments
Development teams commonly CNAME staging.example.com to a hosting platform's preview-environment hostname, keeping infrastructure changes invisible to bookmarked URLs.
☁️
Cloud Load Balancer Aliases
Cloud load balancers are frequently referenced by a CNAME rather than a raw IP, since the load balancer's own address can rotate during scaling events.
📧
Email Verification Records
Many email and marketing platforms use CNAME-based domain verification, having customers add a specific CNAME to prove ownership before enabling sending.

🛡️ CNAME Support Across DNS Providers

Every major managed DNS provider — Cloudflare, AWS Route 53, Google Cloud DNS, Azure DNS, and standard registrar panels — supports CNAME as a fully standard record type, with essentially identical add-record workflows to an A record, just selecting CNAME from the type dropdown and entering a hostname instead of an address. Where providers differ is apex handling: Cloudflare offers CNAME flattening automatically at the apex, Route 53 offers Alias records for AWS-native resources, and several others offer a dedicated ANAME record type — always worth checking your specific provider's exact terminology and behavior before assuming apex CNAME-style behavior works identically everywhere.

🖥️ Command-Line Reference

PlatformCommand
Linux / macOS (dig)dig CNAME example.com +short
Linux / macOS (host)host -t CNAME example.com
Windows (nslookup)nslookup -type=CNAME example.com
Windows (PowerShell)Resolve-DnsName -Type CNAME example.com
Full resolution tracedig example.com +trace

☁️ CDN & Cloud Provider Patterns

Reverse-proxying CDNs almost universally rely on customer-configured CNAMEs to route traffic through their edge network — the CNAME target you see is the CDN's own infrastructure hostname, not your backend origin directly. That's expected, correct behavior, not a misconfiguration, and it's the whole mechanism that lets a CDN insert itself in front of a domain without the domain owner manually managing individual edge IP addresses.

🔒 Security Considerations

The most significant CNAME-specific security risk is dangling CNAME subdomain takeover: a CNAME pointing at a third-party service (a cloud storage bucket, a SaaS platform hostname, a decommissioned app) that's since been deleted or deprovisioned. If an attacker can claim that same resource name on the target platform, the original CNAME still resolves — now pointing traffic straight to attacker-controlled infrastructure, often used for phishing or malware distribution while wearing the trusted parent domain's reputation. Auditing DNS zones for CNAMEs pointing at decommissioned or unclaimed third-party resources is a genuinely important, frequently overlooked security practice.

⏱️ Performance & Caching

Each CNAME hop technically requires an additional DNS query, adding a small amount of resolution latency compared to a direct A record — in practice, this is usually negligible thanks to resolver caching, but very long chains (four or more hops) can start to add measurable delay, particularly on the first, uncached lookup a given resolver makes. TTL applies independently to every record in the chain, meaning the overall chain's effective freshness is governed by whichever hop has the shortest remaining TTL at any given moment.

❌ Common Mistakes

⚠️ Trying to add a CNAME at the apex domain
Standard DNS forbids it outright due to the mandatory NS/SOA coexistence conflict — use the www subdomain or a flattening/ALIAS feature instead.
⚠️ Adding another record type alongside an existing CNAME
DNS rules forbid any other record at a name that already has a CNAME — this is a frequent, confusing validation error for people new to DNS.
⚠️ Leaving a dangling CNAME after decommissioning a service
An orphaned CNAME pointing at a deleted third-party resource is a genuine subdomain-takeover risk — clean these up as part of any service decommissioning process.
⚠️ Assuming a working site proves the whole chain is healthy
Caching along a multi-hop chain can mask a broken hop for a while — always verify the full chain directly rather than trusting overall site behavior alone.

✅ Best Practices

Keep chains as short as practical — every extra hop is one more point of failure and one more thing to audit. Document every CNAME's purpose, especially ones pointing at third-party services, so decommissioning that service reliably includes cleaning up the corresponding DNS record. Audit zones periodically for dangling CNAMEs pointing at resources that no longer exist, and never attempt to place a CNAME at the apex — use the provider's flattening/ALIAS feature or a direct A/AAAA record there instead.

📊 Pros & Cons

ProsCons
Target infrastructure can change address without customer DNS updatesCannot be used at the apex domain under standard DNS rules
Simplifies multi-tenant SaaS custom-domain setups significantlyAdds resolution hops, and each one is a potential point of failure
Widely supported, standardized, well-understood record typeDangling CNAMEs create a real subdomain-takeover security risk
Reduces DNS maintenance burden for the domain ownerCannot coexist with any other record type at the same name

🔧 Troubleshooting

⚠️ Lookup shows an unexpected or unfamiliar target
Confirm this is genuinely the current, intended target with whoever manages the destination service — chains sometimes point at outdated infrastructure after a migration.
⚠️ Chain resolves but the site is unreachable
The DNS layer is confirmed working; the problem sits at the final target's server or firewall configuration — check that layer next.
⚠️ "Cannot add CNAME" error in a DNS panel
Almost always the apex-domain restriction, or another record already existing at that exact name — check both before assuming a panel bug.
⚠️ Chain ends without resolving to an address
The final hop may be a dangling reference to a deprovisioned service — treat this as a potential subdomain-takeover risk and investigate immediately.

📚 Glossary

TermMeaning
Canonical nameThe "real," authoritative name a CNAME ultimately points toward
ChainA sequence of one or more CNAME hops leading to a final address
Apex / root domainA domain with no subdomain, e.g. example.com
FlatteningA provider technique letting apex domains behave like they have a CNAME
Dangling CNAMEA CNAME pointing at a resource that no longer exists — a takeover risk

🎓 Expert Tips

🎓
Trace the Whole Chain, Not Just the First Hop
A single CNAME check often hides the real problem two hops further down — always follow the complete chain before concluding anything about a DNS issue.
🔐
Audit for Dangling CNAMEs Regularly
Make orphaned-CNAME auditing a recurring security task, not a one-time cleanup — services get decommissioned continuously, and DNS records rarely get cleaned up automatically.
🔧
Document Every Third-Party CNAME's Purpose
Note what each CNAME is for and when it should be reviewed — this turns future decommissioning into a checklist item instead of a guessing game.

For the complete record picture beyond CNAME, use DNS Lookup. Check the underlying IPv4 or IPv6 address at the end of the chain with A Record Lookup or AAAA Record Lookup. To confirm whether a DNS change has propagated globally, use DNS Propagation Checker, and to go the other direction — address back to hostname — try Reverse DNS Lookup. For domain ownership and registration details, see WHOIS Lookup.

📚 Want the full mechanics behind this record type? Read: CNAME Explained → · Hitting the apex restriction? Apex Domain Issues →

ToolsNovaHub tools are built and independently maintained with a focus on accurate, no-signup network and security utilities. Spotted an error? Let us know.

📋 Related Tools & Guides Comparison

ResourceTypeLink
A Record LookupNetworkOpen Tool →
AAAA Record LookupNetworkOpen Tool →
DNS LookupNetworkOpen Tool →
CNAME ExplainedGuideRead Guide →
CNAME FlatteningGuideRead Guide →

FAQ

A CNAME (Canonical Name) record aliases one hostname to another. Instead of holding an address directly, it tells a resolver "the real answer lives at this other name," and the resolver follows that pointer.
No. DNS rules forbid any other record type at a name that already has a CNAME, with the apex domain being the most common place this restriction causes trouble.
CNAME records can chain — one alias pointing to another alias, pointing to another — often seen with CDNs and SaaS platforms. This tool follows every hop until it reaches a final A or AAAA answer.
Standard DNS forbids it, because the apex also needs NS and SOA records, which can't coexist with a CNAME. Many providers offer a workaround called CNAME flattening or ALIAS records instead.
Live — every lookup queries a public DNS resolver at the moment you click Lookup, following the real chain currently published, not a stored snapshot.
A provider-specific technique that lets an apex domain behave like it has a CNAME, by resolving the target internally and serving a synthesized A/AAAA record to the outside world.
A CNAME is a standardized DNS record type that cannot be used at the apex. An ALIAS (or ANAME) is a provider-specific extension designed specifically to work at the apex.
A CNAME pointing at a third-party resource that's since been deleted or deprovisioned — a real security risk, since an attacker who claims that same resource name can hijack the traffic.
Each hop adds a small amount of latency in theory, but resolver caching usually makes this negligible in practice. Very long chains (4+ hops) can add measurable delay on uncached lookups.
A CNAME lets the CDN change its own infrastructure addresses freely without requiring every customer to manually update their DNS records.
Yes — enter any hostname, including a deep subdomain, and the tool follows its full chain to the final resolved address.
Each record in the chain has its own independent TTL. The chain's effective freshness is governed by whichever hop currently has the shortest remaining TTL.
Yes — completely free, no signup, unlimited queries. Results come from a public DNS resolver and appear instantly.
Confirm you're not targeting the apex domain, and that no other record already exists at that exact hostname — both are common causes of a save error.
Yes — a CNAME target can be any valid hostname, in your own domain or a completely different one, which is exactly how CDN and SaaS custom-domain setups work.