Custom domains are one of the most common support questions I see in the Lovable Discord. Every week there are 3-5 people stuck on the same issues - SSL not provisioning, Cloudflare conflicts, domains going offline randomly. So I decided to put everything I know in one place.
This guide covers the setup process, the most common problems, and the workarounds that have actually worked for people. Whether you are technical or not, this should help you get your domain working.
What Is Actually Happening When You Connect a Domain
When you buy a domain (like mycoolapp.com), it does not automatically know where your Lovable project lives. DNS records are like an address book - they tell the internet "when someone types mycoolapp.com, send them to this server."
Lovable uses two types of records:
- A record - this is the main one. It points your domain to Lovable's server IP address. Think of it as the street address.
- TXT record - this proves you actually own the domain. Like showing your ID at the door.
You might wonder why not use a CNAME record (which some other platforms use). The reason is simple: CNAME records do not work on root domains like mycoolapp.com - they only work on subdomains like www.mycoolapp.com. So Lovable uses A records to keep things simple.
Before You Start
You will need:
- A paid Lovable plan (custom domains are not available on free)
- A published project
- Access to your domain's DNS settings (wherever you bought the domain - GoDaddy, Namecheap, Cloudflare, Squarespace, etc.)
And one important cleanup step: if your domain already has existing A records, AAAA records (IPv6), or CAA records for the root domain, remove them first. These can conflict with Lovable's setup.
Two Ways to Connect
Automatic Setup (Easiest)
Go to Project Settings > Domains > Connect domain. Enter your domain, select your DNS provider from the list, and authorize Lovable to add the records automatically through a service called Entri. Not all providers are supported, but if yours is, this is the fastest path.
Manual Setup
If your provider is not in the list (or you prefer doing it yourself), select "Go to our manual setup" at the bottom. Lovable will give you:
- An A record with an IP address
- A TXT record with a verification code
Go to your DNS provider, add both records, come back to Lovable and click "Done." Then wait for it to verify.
If You Are Using Cloudflare
This is where most people get stuck, so I want to be really clear about this.
Cloudflare has a feature called "proxy" (the orange cloud icon). When it is on, Cloudflare sits between your visitors and your server. This is normally great, but during the Lovable domain setup it causes problems because Lovable cannot verify your domain through the proxy.
The golden rule: when you add the A record in Cloudflare, click the orange cloud so it turns grey (DNS-only mode). Keep it grey until your domain shows "Live" in Lovable.
After the domain is live, you can turn the proxy back on if you want Cloudflare's CDN and security features. But if you do, set your SSL/TLS mode to Full in Cloudflare to avoid certificate conflicts.
WWW Is Not Automatic
This catches a lot of people off guard. When you connect mycoolapp.com to Lovable, www.mycoolapp.com does not come with it. They are treated as two separate domains.
If you want both to work, you need to add www.mycoolapp.com as a separate custom domain in Project Settings > Domains. Each subdomain needs its own entry.
If people are visiting your www version and getting an error, this is almost always the reason.
Common Issues and What to Do
Stuck on "Verifying"
This means Lovable is waiting for your DNS records to show up. A few things to check:
- Is the A record pointing to the exact IP Lovable gave you? (not a different one)
- Is the TXT record value copied exactly? No extra spaces?
- If on Cloudflare, is the proxy OFF (grey cloud)?
- Do you have AAAA records? Remove them - IPv6 records interfere with the setup
- Do you have CAA records? Remove those too - they can block SSL certificates
DNS propagation can take anywhere from minutes (Cloudflare is fast) to 72 hours (some providers are slow). Give it time before making more changes - each change resets the clock.
Stuck on "Setting Up" or SSL Not Working
This is the most frustrating one. Your domain verified but the SSL certificate is not being issued. I have seen this happen a lot, and there is a workaround that has been confirmed by multiple users:
- Remove the domain from Project Settings > Domains
- Re-add it, but this time choose manual setup (even if you used automatic before)
- Update the new TXT verification record in your DNS
- Wait for verification to complete
This triggers a fresh SSL certificate issuance. Several people in the community have confirmed this fixes it when the automatic setup gets stuck.
Domain Shows a 404 Page
Your DNS might be pointing to the wrong place. Check that the A record in your DNS provider matches what Lovable shows in Settings.
Domain Keeps Going Offline
Some users have reported their domain works for a few hours then goes down, then comes back. This is often related to Cloudflare proxy (orange cloud) creating SSL conflicts. Try keeping the proxy OFF and letting Lovable handle SSL directly.
If it keeps happening: remove the domain, re-add it with manual setup, and keep Cloudflare proxy off.
Error 1014 on Cloudflare
This is a cross-user CNAME conflict. It happens when both Lovable's infrastructure and your domain use Cloudflare. If you are using Cloudflare as a reverse proxy, do not connect the domain in Lovable's settings - configure the routing entirely through Cloudflare instead.
Understanding the Status Indicators
When you connect a domain, Lovable shows a status that tells you where things are:
| Status | What it means | What to do |
|---|---|---|
| Verifying | Waiting for DNS records to propagate | Wait, or double-check your records |
| Unable to verify | Could not find your records | Check DNS, can take up to 72h |
| Setting up | DNS verified, SSL certificate being issued | Wait - this is automatic |
| Failed | SSL provisioning failed | Click Retry, or remove and re-add with manual setup |
| Live | Everything working | You are good! |
| Offline | DNS records changed or removed | Click Recover, check your DNS |
Verifying
Waiting for DNS records to propagate
Wait, or double-check your records
Unable to verify
Could not find your records
Check DNS, can take up to 72h
Setting up
DNS verified, SSL certificate being issued
Wait - this is automatic
Failed
SSL provisioning failed
Click Retry, or remove and re-add with manual setup
Live
Everything working
You are good!
Offline
DNS records changed or removed
Click Recover, check your DNS
Quick Checklist
Before you start, go through this:
- Remove existing A, AAAA, and CAA records for your root domain
- If using Cloudflare: set proxy to OFF (grey cloud)
- Add the A record Lovable gives you
- Add the TXT record exactly as shown
- Wait for "Live" status before changing anything else
- Want www? Add it as a separate domain after the root is live
Hope this saves you some time. If you found this helpful or have a fix I did not cover, let me know!