How to map a custom domain to your Hashnode blog

Every Hashnode blog starts with a free subdomain, such as yourname.hashnode.dev. It works out of the box. But if you want your blog to live at your own domain, like blog.yourname.com or yourname.com, you
can set that up in a few minutes.
This guide walks you through the entire process.
Before you start
You need two things:
A Hashnode blog (obviously)
A domain you own, with access to its DNS settings
Your domain registrar is where you'll add DNS records. If you bought your domain from Namecheap, GoDaddy, Cloudflare, Google Domains, or similar, that's where you'll go.
Step 1: Open domain settings
Go to your blog dashboard and click Domain in the sidebar.
You'll see two tabs: Hashnode Sub-Domain and Custom Domain. Click Custom Domain.
Step 2: Enter your domain
Type your domain without http:// or https://. Just the bare domain.
Examples:
blog.yourname.com(subdomain)yourname.com(apex/root domain)
Note: Don't enter something like
www.blog.yourname.com. If your domain isyourname.comand you want a blog subdomain, useblog.yourname.com. Thewwwprefix is handled separately.
Step 3: Choose your mapping option (apex domains only)
If you're mapping an apex domain like yourname.com, Hashnode will ask whether you also want www.yourname.com to redirect to it.
Pick the recommended option: add both and redirect www to the apex. This way visitors who type www.yourname.com won't hit a dead end.
If you're mapping a subdomain like blog.yourname.com, this step is skipped automatically.
Step 4: Add DNS records
After saving, Hashnode shows you the exact DNS records to add. The records depend on what type of domain you're mapping.
For a subdomain (e.g. blog.yourname.com):
| Type | Host | Value |
|---|---|---|
| CNAME | blog | hashnode.network |
For an apex domain (e.g. yourname.com):
| Type | Host | Value |
|---|---|---|
| A | @ | 76.76.21.21 |
If you also opted for www redirect, add one more:
| Type | Host | Value |
|---|---|---|
| CNAME | www | hashnode.network |
Go to your DNS provider and add these records. Delete any existing A or CNAME records for the same hostname first. Having duplicate records will cause conflicts and prevent verification.
Step 5: Wait for verification
Hashnode automatically checks your DNS configuration every few seconds. You'll see a "Pending verification" status that flips to "Domain verified" once the DNS records propagate.
This usually takes a few minutes. In rare cases, it can take up to 24 hours. You can check propagation progress at whatsmydns.net.
Step 6: SSL certificate
You don't need to do anything here. Once your domain is verified, Hashnode automatically provisions a free SSL certificate via Let's Encrypt. HTTPS just works.
If you're using Cloudflare
This is the most common gotcha. If your domain is on Cloudflare, you need to set the proxy status to DNS only (gray cloud, not orange cloud) for the records you just added.
When the orange cloud is on, Cloudflare proxies traffic through its own servers, which breaks the domain verification and SSL provisioning.
If you see a "Verification required" warning
Sometimes Hashnode will show a yellow banner asking you to add a TXT record. This happens when the domain was previously used on another Vercel account.
Just add the TXT record exactly as shown. Hashnode will verify ownership and complete the setup.
Removing a custom domain
If you ever want to go back to your hashnode.dev subdomain, click Remove domain at the bottom of the domain settings page. Your subdomain stays reserved for you regardless of whether you have a custom domain mapped.
What about the hashnode.dev subdomain?
It never goes away. When you map a custom domain, your hashnode.dev address automatically redirects to the custom domain. If you remove the custom domain later, your blog goes back to the hashnode.dev address.
Nothing is lost.




