How to Deploy a Bolt.new Site on EZLaunch
Bolt.new gives you a full project you can download as a ZIP or push to GitHub. Most Bolt projects are Vite + React, so you run one build command on your computer and upload the dist folder to EZLaunch. If you asked Bolt for plain HTML, there is no build at all: zip the files and upload. Either way the site is live in seconds, and a custom domain with SSL is one DNS record.
What Bolt produces
Bolt.new runs a real development environment in the browser and scaffolds whatever stack you ask for. Left to its defaults it usually produces a Vite + React + Tailwind project, but it will happily build Astro, Svelte, or a plain HTML/CSS/JS site if you say so. Which one you have decides whether you need a build step:
- Plain HTML (an
index.htmlat the top of the file tree, nopackage.json): no build. Download and upload. - Vite, Astro, or Svelte (there is a
package.jsonand asrcfolder): build once locally, then upload the output folder (dist). - Next.js or anything with API routes or a server: EZLaunch hosts static files only. Ask Bolt to rebuild it as a static Vite site, or host the server part elsewhere.
Tip for new projects: start your first Bolt prompt with "Build this as a static site with plain HTML, CSS, and JavaScript, index.html at the root, no framework." You skip the build step forever and the result deploys anywhere.
Step 1: Get the code out of Bolt
Download: open the project menu in the top-left of the Bolt editor and choose the download option. You get a ZIP of the whole project. Unzip it.
GitHub: Bolt can also push the project to a repository in your GitHub account from the same menu. Clone it with git clone afterwards. This is the better route if you plan to keep editing in Bolt and redeploying.
The routing gotcha
React apps built with React Router use browser-history URLs like /pricing that only exist inside the running JavaScript. On a static host, opening or refreshing that URL directly asks the server for a file named pricing, and EZLaunch, like most static hosts, returns 404 rather than falling back to index.html. Before you build, ask the tool to switch to HashRouter (URLs become /#/pricing and always work), or keep the site to a single route.
Step 2: Build locally (skip for plain HTML)
cd YOUR-BOLT-PROJECT
npm install
npm run build
Vite and Svelte write to dist, Astro to dist as well. Check with npm run preview. You need Node.js 18 or newer installed; get it from nodejs.org if node -v shows nothing.
Zip it the right way
EZLaunch needs index.html at the top level of the ZIP, not inside a folder. Zip the files inside your output folder, not the folder itself.
- Mac: open the folder in Finder, select all (Cmd+A), right-click, Compress.
- Windows: open the folder, select all, right-click, Send to → Compressed (zipped) folder.
- Terminal:
cd dist && zip -r ../site.zip .
Correct: site.zip → index.html, assets/. Wrong: site.zip → dist/index.html. The free plan accepts ZIPs up to 50 MB.
Upload to EZLaunch
Sign in at app.ezlaunch.app, click New site, and drag the ZIP onto the upload area. The site is live on a something.ezlaunch.app address with HTTPS and analytics already on. Or skip the ZIP and deploy the folder from the terminal:
npm install -g ezlaunch
ezlaunch login
cd dist
ezlaunch deploy
Custom domain and forms
Domain: in the site's Settings → Custom Domain enter your domain, add an A record at your DNS provider pointing to 87.99.143.176, click Check DNS. A Let's Encrypt certificate is issued automatically, usually within two minutes.
Forms: add data-ezlaunch name="contact" to any <form> tag and redeploy. EZLaunch injects the endpoint, filters spam with a honeypot, and shows submissions in the dashboard on paid plans.
Bolt's built-in deploy or EZLaunch?
Bolt offers one-click publishing through a hosting partner. It is convenient while you iterate. EZLaunch is the better fit once the site needs a custom domain on the free tier, a working contact form without a backend, privacy-friendly analytics, or when you want one host for every AI-built site regardless of which tool made it. Many people prototype in Bolt and ship on EZLaunch.
Common questions
Bolt gave me a Next.js app. Can I host it?
Only if it is fully static. Ask Bolt to convert it to a Vite + React app, or add output: 'export' to next.config.js and upload the out folder, which works only when the app has no server code.
My site loads but is unstyled.
You zipped the dist folder instead of its contents. Re-zip from inside the folder.
Do I need to rebuild every time I change something in Bolt?
Yes for framework projects: download or pull, build, upload. For plain HTML sites, download and upload. Either takes about two minutes.
More deploy guides
Overview of every option: Deploying sites built by ChatGPT, Claude, Bolt, Lovable, and Replit.
EZLaunch is a product I build. Menu names and features in Bolt.new change; check its documentation for current specifics.