How to Set Up a Custom Domain on Substack
By default, your Substack lives at yourname.substack.com. That’s fine for getting started, but a custom domain — like newsletter.yourdomain.com or yourdomain.com — makes your publication feel more professional and gives you stronger branding.
Setting up a custom domain on Substack takes about 15 minutes of active work plus some waiting time for DNS propagation. Here’s the complete process.
Why Use a Custom Domain
Branding
A custom domain signals professionalism. morningbrief.com carries more weight than morningbrief.substack.com — on business cards, social media bios, and in readers’ minds.
SEO Benefits
A custom domain builds SEO authority for your brand rather than for substack.com. Over time, search rankings benefit your domain specifically. If you ever migrate platforms, some of that SEO equity comes with you.
Portability
If you leave Substack, redirecting a custom domain to your new platform is straightforward. Redirecting a *.substack.com URL requires Substack’s cooperation.
Email Appearance
With a custom domain, emails can come from newsletter@yourdomain.com instead of a Substack address. This looks more professional and can improve deliverability for corporate subscribers whose email filters may treat substack.com differently.
Prerequisites
Before starting, you need:
- A Substack publication (free or paid)
- A domain you own (purchased through a registrar like Cloudflare, Namecheap, Google Domains, GoDaddy, or Porkbun)
- Access to your domain’s DNS settings (through your registrar’s dashboard)
If you don’t own a domain yet, purchase one first. Domain registrars typically charge $10-15/year for a .com domain.
Step-by-Step Setup
Step 1: Open Substack Settings
- Go to your Substack dashboard
- Click Settings
- Under “Publication details,” find the “Custom domain” section
- Click “Set up custom domain”
Step 2: Enter Your Domain
Type the domain you want to use. You have two options:
- Root domain:
yourdomain.com— your publication is the main site - Subdomain:
newsletter.yourdomain.comorblog.yourdomain.com— your publication is a section of a larger site
For most newsletter writers, a root domain or a simple subdomain like newsletter. works best.
Step 3: Add DNS Records
Substack will display the DNS records you need to add. The exact records depend on whether you’re using a root domain or subdomain:
For a subdomain (e.g., newsletter.yourdomain.com):
Add a CNAME record:
- Type: CNAME
- Name/Host:
newsletter(or whatever your subdomain is) - Value/Target:
target.substack-custom-domains.com - TTL: Auto or 3600
For a root domain (e.g., yourdomain.com):
Root domains can’t use CNAME records (technically). The approach varies by registrar:
- Some registrars support CNAME flattening or ALIAS records (Cloudflare, DNS Made Easy)
- Others require A records pointing to Substack’s IP addresses
Substack’s setup wizard will show you the specific records needed.
Step 4: Configure DNS at Your Registrar
Log into your domain registrar and add the DNS records from Step 3.
Cloudflare:
- Go to your domain → DNS → Records
- Click “Add record”
- Select CNAME, enter the name and target
- Set proxy status to “DNS only” (grey cloud) — this is important
- Save
Namecheap:
- Go to Domain List → Manage → Advanced DNS
- Click “Add New Record”
- Select CNAME, enter the host and value
- Save changes
GoDaddy:
- Go to My Products → DNS
- Click “Add” under Records
- Select CNAME, enter the name and value
- Save
Porkbun:
- Go to Domain Management → DNS Records
- Add a new CNAME record with the appropriate values
- Save
Step 5: Wait for DNS Propagation
DNS changes take time to propagate across the internet. This typically takes:
- Fast: 5-30 minutes (Cloudflare, some registrars)
- Typical: 1-4 hours
- Slow: up to 24-48 hours (rare, but possible)
You can check propagation status at tools like dnschecker.org or whatsmydns.net — enter your domain and check if the CNAME record appears correctly.
Step 6: Verify in Substack
Return to Substack’s custom domain settings. Click “Verify” or refresh the page. Once Substack detects your DNS records, it will:
- Verify domain ownership
- Provision an SSL certificate (automatic, via Let’s Encrypt)
- Activate your custom domain
This may take a few minutes after DNS propagation completes.
Step 7: Test
Visit your custom domain in a browser. You should see your Substack publication. Check:
- Homepage loads correctly
- Individual posts are accessible
- SSL certificate is active (padlock icon in browser)
- Old
yourname.substack.comURLs redirect to your custom domain
Troubleshooting Common Issues
”DNS records not found”
- Double-check the record type, name, and value for typos
- Ensure you’re editing the right domain’s DNS
- Wait longer — propagation may not be complete
- If using Cloudflare, make sure the proxy is OFF (grey cloud, not orange)
SSL Certificate Not Provisioning
Substack uses Let’s Encrypt for SSL. If the certificate isn’t provisioning:
- Ensure DNS records are correct and propagated
- Wait up to 1 hour — certificate provisioning takes time
- If using Cloudflare with proxy ON, SSL conflicts can occur. Turn proxy OFF for the CNAME record
”Domain already in use”
If another Substack publication previously used your domain, contact Substack support to release it. This also applies if you’re migrating the domain from a different Substack account.
Root Domain Issues
Root domains (apex domains) are trickier than subdomains because the DNS specification doesn’t technically allow CNAME records at the root. Solutions:
- Cloudflare: supports CNAME flattening, which works seamlessly
- Other registrars: may require A records. Substack’s setup wizard will provide the correct IP addresses
- Alternative: use a subdomain like
www.yourdomain.comand set up a redirect from the root
After Setup
Update Your Links
Once your custom domain is active, update your Substack URL everywhere:
- Social media bios (Twitter/X, LinkedIn, Instagram)
- Email signature
- Website or personal homepage
- Business cards
- Other platforms where you’ve shared your Substack link
Email Configuration
With a custom domain, you can optionally configure email sending from your domain. This requires additional DNS records (SPF, DKIM) that Substack’s settings will guide you through.
Custom email sending improves:
- Brand consistency: emails come from
you@yourdomain.com - Deliverability: authenticated emails from custom domains may avoid spam filters more effectively
- Trust: readers recognize your domain
Monitor After Migration
After switching to a custom domain, monitor for a few days:
- Check that existing subscriber links still work (Substack handles redirects, but verify)
- Confirm email delivery is working correctly
- Test that new subscribers can sign up through the custom domain
Key Takeaways
- A custom domain improves branding, SEO, portability, and email professionalism
- Setup requires adding a CNAME (or A) record at your domain registrar
- DNS propagation takes minutes to hours — be patient
- Substack automatically provisions an SSL certificate
- Root domains need special handling (CNAME flattening or A records) depending on your registrar
- Cloudflare users must set proxy to OFF (grey cloud) for the CNAME record
- Update all your links after activating the custom domain
- Consider setting up custom email sending for additional professionalism