Skip to main content
Set up a custom domain to strengthen your brand and retain the SEO value you build over time. Instead of paragraph.com/@username, your publication can live at example.com or blog.example.com. Activating a custom domain is a one-time $50 purchase from your publication settings.

Requirements

Before you begin, make sure you:
  • Own a domain through a registrar (GoDaddy, Namecheap, Cloudflare, etc.)
  • Unlock the feature in Publication Settings (one-time $50 fee)
  • Have access to your DNS dashboard

DNS configuration

All custom domains use a CNAME record pointing to cname.paragraph.com. You’ll also need to add the TXT records shown in your Publication Settings for verification. Subdomains work with all DNS providers and are the easiest to set up.
TypeNameValue
CNAMEblogcname.paragraph.com
TXTProvided in your Publication SettingsProvided value
TXTProvided in your Publication SettingsProvided value

Root domains (example.com)

Root (apex) domains require your DNS provider to support CNAME or ALIAS records at the apex. Not all providers support this.
TypeNameValue
CNAME or ALIAS@cname.paragraph.com
TXTProvided in your Publication SettingsProvided value
TXTProvided in your Publication SettingsProvided value
If your registrar doesn’t allow adding a CNAME record for @, try adding an ALIAS record instead. If neither option is available, consider moving your DNS to Cloudflare (free)
which supports CNAME at the apex. You can keep your domain registered at your current registrar.

Common setup mistakes

Using the full domain in the Name field

Most DNS providers automatically append your domain to whatever you enter in the Name field.
You enterWhat gets created
@example.com
blogblog.example.com
example.comexample.com.example.com
blog.example.comblog.example.com.example.com

Conflicting A records

If you have an existing A record for the same domain, delete it before adding the CNAME. A records take precedence and will prevent your domain from routing to Paragraph.

Wildcard records

If you have a wildcard record (*) pointing to another server, it may interfere with your subdomain. Either:
  • Delete the wildcard record, or
  • Make sure your specific subdomain record is set up correctly (specific records should override wildcards, but some providers
    behave differently)

Verification

  1. Add your domain in Publication Settings.
  2. Copy the TXT records shown and add them at your registrar.
  3. Add the CNAME record pointing to cname.paragraph.com.
  4. Wait at least 30 minutes, then click the refresh (↻) button in Paragraph.
  5. Once verified, your publication will load at your new domain.
DNS propagation can take up to 24–48 hours, though most changes appear within a few hours.

Troubleshooting

”Custom hostname does not CNAME to this zone”

This means your domain isn’t pointing to cname.paragraph.com. Check that:
  • You added a CNAME record, not an A record
  • There’s no conflicting A record for the same domain
  • There’s no wildcard (*) record overriding your settings
  • Your DNS changes have been saved/published

Domain shows as verified but returns a 404 error

Your verification TXT records are correct, but traffic isn’t reaching Paragraph. This usually means:
  • The CNAME record is missing or points to the wrong target
  • An old A record is still active (possibly pointing to 76.76.21.21 from a previous setup)

Root domain won’t work

Your DNS provider likely doesn’t support CNAME or ALIAS at the apex. Options:
  1. Move DNS to Cloudflare (free, keeps domain registered elsewhere)
  2. Use a subdomain like www.example.com instead

What happens to your old URL?

We set up a permanent redirect from your old paragraph.com URL to your new custom domain. Search engines will follow the redirect, so your SEO won’t be harmed.

Troubleshooting

Common issues

  • Unverified domain → make sure TXT record matches exactly, wait for propagation, click refresh.
  • 404 error → verification not complete. Double-check your DNS records, then refresh.
  • Cloudflare users → turn off the orange cloud (DNS-only mode).

Timeline expectations

TimeWhat to expect
0–30 minChanges propagating, may not work yet
30 min–2 hrMost domains begin resolving
2–24 hrShould be working for nearly everyone
24–48 hrContact support if still not working

Still having trouble?

Before reaching out, please gather:
  • Screenshots of your DNS settings at your registrar
  • Screenshot of your Paragraph domain settings
  • The exact error message you see
Then email us at [email protected] and we’ll help get you set up.