Netlify
Official Lovable guide, auto-detects TanStack Start, free plan to start.
Cloudflare Pages
Unlimited free bandwidth and requests on static assets; TanStack Start is auto-detected.
What Lovable gives you
Projects created from May 13, 2026: TanStack Start (React, server-rendered). Older projects: React + Vite single-page app. Both usually use Supabase via Lovable Cloud.
Built-in hosting
Publish button gives you a lovable.app URL. Publishing is free; hosting usage draws on Cloud credits.
- Free: Free plan: 5 daily build credits (up to 30/month) and 20 Cloud credits. Free-workspace sites may be unpublished after 12 months with no visits, no owner login and no custom domain.
- Custom domain: Custom domains require a paid plan (Pro from $25/month, or $21/month billed annually).
First: which kind of project do you have?
| Type | How to tell | What the host needs |
|---|---|---|
| TanStack Start (new projects) | package.json lists @tanstack/react-start or @lovable.dev/vite-tanstack-config; there are files under src/routes/. | A host that runs server code. Vercel, Netlify and Cloudflare are auto-detected; for a plain Node server set NITRO_PRESET=node-server and run node .output/server/index.mjs (port 3000). |
| React + Vite (older projects) | vite.config.ts and index.html at the repo root, no src/routes/ folder, build output is dist/. | Any static host. Add an index.html fallback so refreshing a page doesn't 404. |
Get your code out
- Connect GitHub (available on all plans): Project → Settings/Connectors → GitHub → Connect project. Lovable creates a repo and keeps it in two-way sync.
- Downloading the codebase as a file and editing code in Lovable require a paid plan.
Build settings
- Build command
-
npm run build - Output
- dist (Netlify / Cloudflare / static). On Vercel leave Output Directory empty for TanStack projects.
- Node
- 22
Environment variables to copy
-
VITE_SUPABASE_URL -
VITE_SUPABASE_PUBLISHABLE_KEY -
VITE_SUPABASE_PROJECT_ID -
SUPABASE_URL and SUPABASE_PUBLISHABLE_KEY (server-side, TanStack Start projects)
Gotchas
- Lovable injects your Supabase keys automatically on lovable.app — external hosts don't. Copy them into the host's environment variables before the first build.
- Lovable's security scan checks Row Level Security on publish; if you move to your own Supabase project, re-check RLS yourself.
- Add your new domain to Supabase Auth → URL Configuration or sign-in will redirect to the wrong site.
Step-by-step guides for Lovable
- Netlify Easiest external host for Lovable. Netlify detects TanStack Start and Vite automatically.
- Vercel Great fit, with an official Vercel integration guide. Remember Hobby is non-commercial.
- Cloudflare Pages Cheapest at scale: free unlimited static bandwidth, commercial use fine.
- Hostinger Only sensible if you already pay for Hostinger. Static (older) projects work on shared hosting; new TanStack projects need a Node.js-capable plan.
Database & login
Data: Supabase (opens in a new tab): Free: 500 MB database, 50,000 MAU, 5 GB egress, 1 GB file storage, 2 active projects. Compare databases
Auth: Supabase Auth (opens in a new tab): Free: 50,000 MAU, social OAuth, anonymous sign-ins, basic MFA.
Common errors
- Supabase warns “RLS disabled” — your table is public
- “new row violates row-level security policy” (42501)
- Page works, but refreshing it gives a 404
- Blank page or “supabaseUrl is required” after moving off the builder
- Google login sends you back to localhost (or “redirect_uri_mismatch”)
- Deploy succeeds but shows a blank page or “Page not found”