A CNAME record, short for Canonical Name record, is a type of DNS entry that points one domain name to another domain name rather than to a numeric address. It is one of the building blocks you configure when setting up where a domain should lead.

Imagine forwarding your mail. You move house but keep telling the post office to send anything addressed to your old name on to your new address. You never have to give everyone your exact street; you just keep one forwarding instruction up to date. A CNAME works the same way. You might point shop.yourcompany.com to stores.shopify.com, and if Shopify changes the underlying server, your link still works because it follows the name, not the IP address.

CNAMEs live inside your DNS records, alongside A records, MX records and the rest. They are everywhere in practice: connecting a subdomain to a hosted service, verifying ownership for a tool, or routing traffic through Cloudflare. The main rule to remember is that a CNAME cannot coexist with other records on the same name, and traditionally cannot sit on the bare root domain.

One practical caveat: every CNAME adds a small extra lookup step, because the resolver has to chase the target name before it can reach the real IP. Chain too many together and you slow things down. So most teams keep the hops short and point straight at the canonical target. A second gotcha is the email side. Because a CNAME blocks every other record on the same name, you cannot put MX or TXT records on a hostname that is already a CNAME, which catches people out when they try to add mail to a subdomain.

At TopDevs we handle DNS and CNAME setup for clients so domains, subdomains and third-party tools all point to the right place without anyone touching a config they don’t understand.