How to deploy a Lovable app

Chat-to-app builder that generates a full-stack web app with Lovable Cloud (Supabase-based) for data and login.

Easiest

Netlify

Official Lovable guide, auto-detects TanStack Start, free plan to start.

Cheapest

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)

Blank page after deploying?

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

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