← Back to Blog

How to Set Up a Custom Domain on Substack

Getting Started

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:

  1. A Substack publication (free or paid)
  2. A domain you own (purchased through a registrar like Cloudflare, Namecheap, Google Domains, GoDaddy, or Porkbun)
  3. 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

  1. Go to your Substack dashboard
  2. Click Settings
  3. Under “Publication details,” find the “Custom domain” section
  4. 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.com or blog.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:

  1. Go to your domain → DNS → Records
  2. Click “Add record”
  3. Select CNAME, enter the name and target
  4. Set proxy status to “DNS only” (grey cloud) — this is important
  5. Save

Namecheap:

  1. Go to Domain List → Manage → Advanced DNS
  2. Click “Add New Record”
  3. Select CNAME, enter the host and value
  4. Save changes

GoDaddy:

  1. Go to My Products → DNS
  2. Click “Add” under Records
  3. Select CNAME, enter the name and value
  4. Save

Porkbun:

  1. Go to Domain Management → DNS Records
  2. Add a new CNAME record with the appropriate values
  3. 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:

  1. Verify domain ownership
  2. Provision an SSL certificate (automatic, via Let’s Encrypt)
  3. 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.com URLs 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.com and set up a redirect from the root

After Setup

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