Lovable Custom Domain Not Working? A Step-by-Step Fix

By the PrototypeVerdict Test Team · Docs checked: Oct 29, 2026 · Our tests: Oct 29, 2026

If your custom domain won’t connect to a Lovable app, start with the plan. Lovable’s free plan can’t connect a custom domain at all, so that’s the first thing to rule out. After that, almost every case comes down to DNS records: a missing or wrong record, a leftover record from an old host, or a proxy in the way. This guide works through each one using Lovable’s own documentation.

Our testing, honestly: we haven’t connected a custom domain to a Lovable app. We tested Lovable on Pro on Oct 29, 2026 and published nothing. The steps below follow Lovable’s official docs, read Oct 29, 2026, and we haven’t tested them ourselves. Where we add a general DNS tip that isn’t from Lovable, we say so.

Quick answer

Most likely causes

Symptom Likely cause Fix
No option to connect, or blocked on Free Custom domains need a paid plan Upgrade, or keep the free xxx.lovable.app address
Domain shows “Ready” but no site The project isn’t published Publish the project
Stuck on “Verifying”, then “Unable to verify” A or TXT record missing or wrong, or still propagating Check both records, then Check status. Allow up to 72 hours
Stuck on “Verifying” with Cloudflare The A record is proxied (orange cloud) Set it to DNS only (gray cloud)
Shows your old site Leftover A, AAAA or CNAME records for that address Delete those for the address you’re connecting. Leave MX records alone
“Setting up”, “Stalled” or “Failed” SSL can’t be issued, often because of CAA records Allow Lovable’s certificate authorities, then Retry
Site loads but sign-in fails The new domain isn’t in the auth redirect URLs Ask Lovable to add it, or add it under More → Users → Settings → Advanced

Step 1: check your plan (the free-plan answer)

Lovable’s docs say: “Custom domains are available on paid plans.” If you downgrade to Free, domains that are already connected keep serving your published app, but you can’t connect a new one, including domains already in your workspace, until you upgrade again. Source: Lovable custom domain docs.

On Free you keep the xxx.lovable.app address, and Lovable says there’s currently no way to remove it from a project. The first paid plan, Pro, was $25/month billed monthly when we checked on Oct 29, 2026 (our Lovable pricing guide).

Step 2: publish the project

You can set up a domain at any time, but it won’t serve anything until the project is published. A domain whose project isn’t published shows the status Ready. Publish, and it should switch to Live.

New to publishing? See the publish steps for Lovable, Bolt and Base44, with the checks our tests say to run first.

Step 3: check the two DNS records

For a domain bought elsewhere, Lovable’s manual setup asks for two records:

Record Host Value
A @ for the root domain (some providers want it blank or the full domain name), or the subdomain label, e.g. blog 185.158.133.1
TXT _lovable for a root domain, or _lovable.blog for a subdomain The exact value Lovable shows you, starting with lovable_verify=

Copy the TXT value in full: Lovable’s docs specifically say to check “especially the full TXT value.” If you connect the root domain with the www redirect on (the default), Lovable lists www as a separate domain with its own two records: an A record with host www and a TXT record with host _lovable.www, using the value from that domain’s setup window. Lovable’s launch guide suggests a TTL of 300 seconds where your provider lets you set one. Sources: Lovable launch guide, Lovable custom domain docs.

Check what the internet actually sees. Your DNS panel shows what you saved, not what other networks can see yet. Use dnschecker.org, which Lovable’s docs suggest, or run these in a terminal (replace yourdomain.com):

dig +short A yourdomain.com            # should return only 185.158.133.1
dig +short AAAA yourdomain.com         # should return nothing
dig +short TXT _lovable.yourdomain.com # should return your lovable_verify= value

Lovable’s launch guide says missing results in the first hour are expected. If the TXT lookup is still empty after that, check how your DNS panel treats the host field. Lovable’s docs note that hosts are entered differently by provider (Amazon Route 53, for example, wants the A record host blank or set to the domain name). General DNS tip, not from Lovable’s docs: many panels add your domain to whatever you type as the host, so typing _lovable.yourdomain.com there creates _lovable.yourdomain.com.yourdomain.com. In those panels, type just _lovable.

Why “propagation” takes a while (general DNS behavior, not from Lovable’s docs). Nothing is pushed out to the internet. Other networks keep using the answer they cached until its time to live (TTL) runs out, so how long you wait depends mostly on the TTL of the record you replaced. A network that looked the name up before you added the record may also remember the “not found” answer for a while. Lovable says most changes are live within a few hours and some take up to 72 hours.

Step 4: read the status

Status What Lovable says it means
Verifying Waiting for the DNS records to propagate. Select Check status to re-check.
Unable to verify Verification didn’t complete within one hour: records are wrong or still propagating. Propagation can take up to 72 hours, though most updates apply within a few hours.
Setting up Verified. SSL certificates are being issued, and the browser shows a security warning until then.
Stalled / Failed SSL is taking too long, or failed. Select Retry. You don’t need to remove and re-add the domain.
Offline It was live, but the DNS records are no longer valid. Select Recover and fix the records.
Action required Setup wasn’t finished, for example the www domain after you connected the root. Select Complete setup.
Removed The records never verified (Lovable’s launch guide says this happens after 72 hours), or the domain was added to another project. Select Reconnect.
Live Working.

Source: domain status table in Lovable’s custom domain docs, Oct 29, 2026.

Step 5: clear the common blockers

  • Cloudflare or another proxy. During verification, the A record must point straight at Lovable and must not be proxied. In Cloudflare, set it to DNS only (gray cloud). Lovable says Cloudflare errors 1001 and 1003 come from Cloudflare’s proxy, and the fix is the same. If you want to keep a proxy, Lovable has a separate “Uses Cloudflare or similar proxy” option that uses a CNAME record instead.
  • Old records. If you see your old website, leftover A, AAAA or CNAME records from the previous host are still there. Delete those records for the address you’re connecting, so only Lovable’s A record and TXT record answer for it. Leave MX and other record types in place, as Lovable’s launch guide says, so your email keeps working.
  • AAAA (IPv6) records. Lovable lists “no AAAA records” as a prerequisite, because they can send some visitors to the wrong place.
  • CAA records. If SSL never finishes, your CAA records may block Lovable’s certificate authorities. Lovable recommends allowing pki.goog, letsencrypt.org and ssl.com, then selecting Retry.
  • Browser cache. Try an incognito window before changing anything else.
  • Still stuck? Ask Lovable in the project chat about the domain. Its docs say the chat reports the domain’s state, which records it expects and whether it can see them. Removing and re-adding the domain is the last resort.

After it’s live: sign-in and redirects

  • Sign-in fails on the new domain. For apps on Lovable’s built-in backend, Lovable adds the domain to the auth redirect URLs when it goes live. If sign-in still fails, ask Lovable to add it, or add it under More → Users → Settings → Advanced. Apps using your own Supabase project need the domain added in Supabase’s auth settings.
  • Redirects are temporary. When you set a primary domain, other connected domains redirect to it with a 302 (temporary) redirect. Lovable doesn’t support 301 redirects between project domains.

Open Lovable →

Sources

  • Lovable docs, Set up a custom domain: https://docs.lovable.dev/features/custom-domain (read Oct 29, 2026)
  • Lovable docs, Launch your site on a custom domain: https://docs.lovable.dev/tips-tricks/launch-on-a-custom-domain (read Oct 29, 2026)
  • Lovable pricing, as summarized in our Lovable pricing guide (checked Oct 29, 2026)

Frequently asked questions

Can I use a custom domain on Lovable’s free plan?

No. Lovable’s docs say custom domains are available on paid plans. Domains connected before a downgrade to Free keep working, but you can’t connect a new one until you upgrade.

How long does a Lovable custom domain take to work?

Lovable marks a domain Unable to verify if it can’t find the records within an hour, but says DNS changes can take up to 72 hours to propagate, though most are live within a few hours.

What IP address does Lovable use for custom domains?

Lovable’s docs give 185.158.133.1 for the A record, plus a TXT record at _lovable with a value starting lovable_verify=. Always copy the exact values Lovable shows you.

Why does my Lovable domain stay on Verifying with Cloudflare?

Lovable’s docs say the A record must not be proxied while verification runs. Set the record to DNS only (gray cloud) in Cloudflare, make sure it points straight at Lovable’s IP, and wait for Live.

Update history

  • October 29, 2026: First published. Our test results are from the Oct 29, 2026 round (Lovable Pro, Base44 Builder, Bolt Free, Softr Basic). Vendor docs and prices checked Oct 29, 2026.