Lovable and Bolt only connect a custom domain on a paid plan (Pro). Replit doesn't charge for the connection itself, but the free Starter app goes offline after 30 days, so a lasting site needs Core. v0 publishes to Vercel, where adding a domain is free on Hobby, but Hobby is non-commercial. Cursor, Claude Code and Devin Desktop have no hosting of their own: you add the domain at whichever host you deploy to. The domain name itself is always billed separately by the registrar, whether that's the builder or someone else.
Do you need a paid plan? Builder by builder
From each builder's own pricing and docs. Prices are in USD, exclude tax and were checked on the date above.
| Builder | Built-in hosting | Custom domain |
|---|---|---|
| Lovable | Publish button gives you a lovable.app URL. Publishing is free; hosting usage draws on Cloud credits. | Custom domains require a paid plan (Pro from $25/month, or $21/month billed annually). |
| Bolt.new | Bolt hosting publishes to a .bolt.host address on every plan. | Custom domains need Pro ($25/month; 10M tokens/month, up to 1M web requests, no branding). |
| Cursor | No built-in hosting. You pick the host. | Set up at your host. |
| Claude Code | No built-in hosting. | Set up at your host. |
| Replit | Publishing is built in. Autoscale (the default) bills per request, Reserved VM is a fixed monthly price, and Static is free apart from data transfer, but Static doesn't work for apps built with Replit Agent. | Connect in Tools → Domains; Replit charges nothing for the connection (you pay your domain provider), but Starter's one free app goes down after 30 days, so a lasting site needs Core ($20/month, $18/month billed annually). |
| v0 | Publish deploys to your Vercel account; Vercel's plan limits apply. | Add it in Vercel project settings (free on Hobby). |
| Devin Desktop (formerly Windsurf) | App Deploys publishes to Netlify under the vendor's account at <name>.windsurf.build (the domain kept its old name); you can claim the site into your own Netlify account. | Claim the site into your Netlify account, then add a domain there. |
The domain name is a separate cost
- Lovable, Bolt and Replit all sell domains inside the app. Lovable says domains bought through it are billed separately from your subscription, and the renewal price can differ from the purchase price (both are shown at checkout).
- Replit includes WHOIS privacy on domains bought through it, renews them automatically and lets you add your own DNS records (for example MX for email).
- You can also buy the domain at any registrar and connect it. Every builder below supports that.
Lovable: connect a domain
- Publish first, then go to Project → Settings → Domains → Connect existing domain (or ask Lovable in the project chat).
- Use the automatic setup (Entri logs in to your DNS provider for you) or the manual setup: an
Arecord pointing to185.158.133.1and aTXTrecord on_lovablewith a value startinglovable_verify=. - Connecting the root domain also connects
wwwby default and redirects it to your primary domain. Lovable uses 302 (temporary) redirects between connected domains; 301s aren't supported. - Remove any
AAAArecords for the domain, and if you useCAArecords, allowpki.goog,letsencrypt.orgorssl.comso the certificate can be issued. - DNS on Cloudflare: set the records to DNS only (grey cloud), or turn on the advanced “Uses Cloudflare or similar proxy” option, which gives you a
CNAMEinstead of theArecord. - Lovable says DNS can take up to 72 hours, though most domains are live within a few hours. If you downgrade later, already-connected domains keep working; connecting a new one needs a paid plan again.
Type Name Value
A @ 185.158.133.1
TXT _lovable lovable_verify=… (copy the exact value from Lovable) Bolt: connect a domain
- The project has to be published. Open the gear icon → All project settings → Domains & Hosting → Connect a domain you own.
- Point
wwwwith aCNAMEtosite-dns.bolt.host, and the root domain with anALIAS,ANAMEor flattenedCNAMEtosite-dns.bolt.host. Bolt warns thatAAAAis a different record type and won't work. - Connecting a subdomain such as
app.example.comfirst needs aTXTverification record that Bolt shows you. - Most domains connect within a few hours; Bolt says it can take up to 24 hours. Domains bought through Bolt usually connect in 5–10 minutes.
- With a domain bought elsewhere you can make the main domain primary, but not one of its subdomains (that needs a Bolt-bought domain). Sites on a custom domain can only be published publicly.
- Published to Netlify instead of Bolt hosting? Add the domain in Netlify's Domain management; domains don't carry over between the two.
Type Name Value
CNAME www site-dns.bolt.host
ALIAS / ANAME / flat. CNAME @ site-dns.bolt.host Replit: connect a domain
- In the project, open Tools → Domains (under Replit Cloud) → Use a domain you already own. The guided setup (Entri) writes the records for you; the manual fallback is an
Arecord plus areplit-verify=…TXTrecord. - Keep the
TXTrecord forever. Replit renews the SSL certificate through it, and deleting it makes the certificate expire later, breaking the site. -
wwwis a separate domain on Replit: addwww.example.comas its own entry with its ownAandTXTrecords. - Remove
AAAArecords and set Cloudflare records to DNS only; Replit can't renew certificates for proxied records. DNS can take up to 48 hours. - Replit's comparison lists the price of a custom domain as “pay your domain provider”. The catch is the plan: Starter's one free published app goes down after 30 days and carries a “Made with Replit” badge.
v0: add the domain in Vercel
v0's Publish deploys to your Vercel account, so the domain lives in Vercel: Project → Settings → Domains → Add, then create the records Vercel shows. Vercel's Hobby plan allows 50 domains per project. Hobby is for personal, non-commercial use only, so a site that sells something needs Pro; see the Vercel Hobby guide linked below.
Cursor, Claude Code and Devin Desktop: set it up at your host
These tools write code but don't host it. Add the domain wherever you deploy. Devin Desktop (formerly Windsurf) App Deploys publish to Netlify; claim the site into your own Netlify account first, then add the domain there. Each host's steps:
| Host | How to add your domain |
|---|---|
| Vercel | Project → Settings → Domains → Add. Vercel shows the exact DNS records (A record for the apex, CNAME for www) to create at your registrar; HTTPS is issued automatically. |
| Netlify | Project → Domain management → Add a domain, then follow the DNS instructions (or delegate your domain to Netlify DNS). HTTPS is automatic. |
| Cloudflare Pages | Your project → Custom domains → Set up a custom domain. Easiest if the domain's DNS is on Cloudflare (Cloudflare Registrar sells domains at cost). |
| Railway | Service → Settings → Networking → + Custom Domain. Railway gives you a CNAME to add at your DNS provider and issues SSL automatically. |
| Render | Service → Settings → Custom Domains → Add. Hobby includes 2 custom domains (then $0.25/domain/month). |
| Fly.io | fly certs add yourdomain.com, then create the A/AAAA (or CNAME) records flyctl prints. |
| DigitalOcean App Platform | App → Settings → Domains → Add domain, then point DNS as instructed (or let DigitalOcean manage DNS). |
| Hostinger | Domains bought at Hostinger connect from hPanel; external domains are pointed via nameservers or DNS records shown in hPanel. |
Domain won't go live? The usual causes
- Old records left over: remove previous
A,AAAAorCNAMErecords for the same name, so only the builder's records remain (Lovable: “my domain shows my old website”). - Cloudflare's orange cloud: proxying breaks verification or certificate renewal on Lovable (unless you use its proxy option) and on Replit. Switch the record to DNS only.
-
AAAArecords: Lovable, Bolt and Replit all call them out as a cause of failed setup. -
CAArecords blocking the certificate authority (Lovable lists the ones it needs). - Sign-in breaks on the new domain: add the domain to your auth provider's redirect URLs. Lovable Cloud adds it automatically; your own Supabase project doesn't.
Common questions
Is a custom domain free on Lovable?
No. Lovable connects custom domains only on paid plans; publishing to a lovable.app address is free on every plan. A domain bought through Lovable is billed separately from the subscription.
Can I use a custom domain on Bolt's free plan?
No. Bolt's Free plan publishes to a .bolt.host address; custom domain support is part of Pro ($25/month on Bolt's pricing page).
Does Replit charge for a custom domain?
Replit's docs list the price as “pay your domain provider”: there's no separate connection fee. But the free Starter plan's single published app goes down after 30 days, so a permanent site on your domain needs Core.
Why does my domain still show my old website?
Your DNS still has A, AAAA or CNAME records from the previous host. Delete them so only the records your builder gave you remain, then wait for DNS to update.
Should I turn on the Cloudflare proxy (orange cloud)?
Not by default. Lovable and Replit both tell you to set records to DNS only (grey cloud). Lovable offers a separate proxy mode with a CNAME record if you really want Cloudflare in front.
Do I need to add www separately?
On Lovable, connecting the root domain also connects www (on by default). On Bolt, you add a CNAME for www. On Replit, www is a separate domain entry with its own A and TXT records.