- In Bolt: Project settings → Domains & Hosting → Hosting Provider → Netlify → Publish.
- A custom domain set up on Bolt hosting doesn't transfer; add it again in Netlify.
Netlify doesn't run always-on servers. If your project has a long-running backend (websockets, bots, background jobs), use Railway or Render for that part.
Step by step
-
Check your project type
- Vite single-page app (most projects): vite.config.* in the project, build output dist/.
- Framework with a server (e.g. Next.js, Astro SSR): next.config.* or an SSR adapter in the config.
-
Get the code onto GitHub
- Built-in: Project settings → Domains & Hosting → Hosting Provider → Netlify → Publish (custom domains don't carry over automatically).
- Download the project as a .zip, or push it to GitHub, then import into any host.
-
Create the project on Netlify
In Netlify choose Add new project → Import an existing project, connect GitHub and pick your repository. Netlify detects Vite and fills in the build settings.
-
Check the build settings
For Vite: build command
npm run build, publish directorydist. The publish directory is relative to the base directory.For Bolt.new: build command
npm run build, output dist (Vite). -
Add environment variables before the first build
In Netlify: Project configuration → Environment variables (add them before the first build). Copy these from Bolt.new:
-
VITE_SUPABASE_URL / VITE_SUPABASE_ANON_KEY (if using Supabase — names may differ; check your .env)
Changed a value later? Rebuild. Vite bakes variables in at build time. Troubleshoot missing env vars
-
-
Make page refreshes work (Vite / React Router single-page apps)
public/_redirects (ends up in dist/_redirects) /* /index.html 200Server-rendered projects (TanStack Start, Next.js) don't need this. Netlify docs (opens in a new tab)
-
Update login redirect URLs
Add your new Netlify URL (and later your custom domain) to your auth provider's allowed URLs. In Supabase: Authentication → URL Configuration. Redirect troubleshooting · Check RLS before going live
-
Add your domain
Project → Domain management → Add a domain, then follow the DNS instructions (or delegate your domain to Netlify DNS). HTTPS is automatic.
What it will cost
Free tier Free: $0 forever — 300 credits/month. Paid from $9/mo: Personal: $9/month, 1,000 credits. Pro: $20/month, 3,000 credits, unlimited members. Checked 17 Oct 2026 on Netlify's pricing page (opens in a new tab).
- Every production deploy costs credits, so frequent auto-deploys from an AI builder eat into the free 300.