Replit custom domain not working

A Replit custom domain stays on Verifying or will not load? Copy the A and TXT records Replit shows, keep the replit-verify TXT record, and publish the app.

Reviewed October 17, 2026

What it means in plain English

The .replit.app address loads, and the domain you connected does not. Or the Domains tool stays on Verifying. Replit says you can connect a domain before you publish, and it does not serve the app until the app is published. Until then, the Domains tool says the project is not published yet.

Replit's own subdomain updates instantly. A custom domain can take up to 48 hours. Replit provides the TLS certificate for both.

Likely causes

  • The app is not published yet, so the domain has nowhere to send people.
  • The A record or the replit-verify=... TXT record does not match what Replit shows. Replit says to copy both from the Domains tool. If the registrar does not accept @ as a hostname, use the registered domain name.
  • More than one A record points at different servers, or an AAAA record sits on the same name. Replit says it only supports A records, and AAAA records can block SSL.
  • Cloudflare is proxying the record (orange cloud). Replit says it cannot automatically renew the certificate for a proxied record. Set the record to DNS only (the gray cloud).
  • The TXT record was removed after verification. Replit issues and renews the certificate through that record. It has to stay for the life of the domain. If it is removed or changed, the next renewal fails and the domain eventually serves an expired certificate.
  • www was never added. Replit says subdomains, including www, are not automatic when you link the apex. Each one is its own Domains entry, with its own A record and its own replit-verify TXT record.
  • A typo in the records. Replit names a trailing dot, an extra subdomain, or a stale record.

Sign-in does not need a CNAME on the custom domain. Replit says sign-in works on the published domain once the domain is verified. A CNAME warning in Publishing is about sending email from the domain, and it does not block verification, SSL, or sign-in.

If the .replit.app URL is the one that fails, that is publishing, not DNS. See Replit app works in preview but not when published.

How to fix it, step by step

  1. Publish the app. Tools, then Domains under Replit Cloud, is where the domain is connected. A domain bought through Replit points at the project after purchase, and it becomes reachable once the app is published.
  2. For a domain you already own, use the guided setup under Use a domain you already own. Replit uses Entri: you sign in at your DNS provider and it writes the records. If that provider is not supported, Replit shows the records to add yourself.
  3. Add the A and TXT values Replit generates. Keep a single A record on that hostname pointing at Replit, and remove AAAA records on the same hostname.
  4. Leave the replit-verify=... TXT record in place. On Cloudflare, set the A record to DNS only.
  5. For www, or any other subdomain, link that full name in the Domains tool and publish the A and TXT records Replit generates for that hostname. Linking hat-tip.cc does not serve www.hat-tip.cc.
  6. Wait. Verification usually takes a few minutes and can take up to 48 hours. The .replit.app address keeps working during that wait. When it finishes, Domains shows Verified. Load the domain in a browser.
  7. If it stays on Verifying, disconnect the domain in the Domains tool and connect it again, then wait a few minutes. If a domain bought through Replit still will not verify, Replit says to contact Replit Support.
  8. If an older domain shows a certificate error and a newer one works, put the TXT record back exactly as Replit shows it, including the hostname and value, then remove the domain in Replit and add it again.
  9. Paste this to Agent:
The custom domain is not Verified or does not load, and the .replit.app URL does. Do not change the app. I will publish first, then copy the A record and the replit-verify TXT record from Tools → Domains. I will keep one A record, remove AAAA records, set Cloudflare to DNS only, and leave the TXT record in place. www gets its own Domains entry.

How to check it worked

  • The Domains tool shows Verified, and the domain loads the published app in a browser.
  • www loads only after that name has its own entry and its own records.
  • The replit-verify TXT record is still at the registrar after verification.

Sources

More Custom domains fixes

More Replit fixes

Keep going on your own.

The guides stay free. A deep leak report is $15. Fix packs are $24, or $49 for all three. There is no done-for-you repair.

See products