Updated 14 min readBy The VibeDeploy team

Bolt.new Project Download: Export Your Project as a ZIP

Download your Bolt.new project as a ZIP, build it locally, and deploy it to a production URL with EU hosting, a custom domain, and automatic SSL included.

Short answer

Open the project in Bolt.new, click the project title in the top left and choose Export > Download to save a ZIP of the source. Unzip it, run npm install and npm run build, and upload the dist/ folder to a host such as VibeDeploy, or connect the project to GitHub and let the host build every push. Bolt also publishes for free on bolt.host, but your own domain there needs a paid Bolt plan.

Built your dist/ folder?

Drag it into VibeDeploy and it is live in seconds, with your own domain included in the 14-day trial.

Bolt.new is fantastic for prototyping. The in-browser StackBlitz preview is genuinely impressive, and the AI feedback loop is fast. Bolt can also publish the result itself, for free, at a *.bolt.host address. What it cannot do for free is put the site on a domain you own: that needs a paid Bolt plan, and the site stays inside Bolt's hosting. Downloading the project is how you take the domain, the jurisdiction and the hosting bill into your own hands.

This guide is the five-minute path from a Bolt project to a real URL.

How to download your Bolt.new project as a ZIP

  1. Open the project you want to export in Bolt.new.
  2. In the top left of your screen, click the project title, then click Export > Download.
  3. Save the ZIP file to your computer, then extract it into a new folder.
  4. Open that folder and confirm it contains package.json, src/, and the rest of your project files.

The ZIP is a complete copy of the project, not just the rendered preview. You can open it in a local editor, put it in a GitHub repository, or build it for another host.

Can't find the Download button?

You are not the only one asking. The short answer is that Bolt keeps the download in a menu, not on a button of its own, and the menu only shows up in one place. These steps were checked against Bolt's documentation in October 2026. Work through them in order:

  1. Open the project itself. The menu belongs to an open project, not to Bolt's home page or the projects list.
  2. Click the project title. It sits in the top left of the screen. The menu that opens contains Export, and Download sits inside Export.
  3. Open in StackBlitz grayed out? That is expected. Bolt changed how it stores project code in 2026, and projects in the new format no longer offer Open in StackBlitz. Bolt's release notes name only that option, not Download.
  4. Following an older video or screenshot? Bolt's layout changes over time. If a guide sends you to a button somewhere else on the screen, go by the project title menu above.

If the menu still does not give you a ZIP, there are other ways to get the same source out:

  • Sync to GitHub. In the project, click the GitHub icon in the top-right corner, log in to GitHub, authorize Bolt and install its GitHub app, then create a repository. Bolt commits every working change to it. On GitHub, Code > Download ZIP gives you the source, and you can also deploy straight from the repository (Option C below). Only the project owner can connect GitHub, and on a Bolt Teams plan an admin can switch the GitHub integration off for the whole team.
  • Copy from Code view. Click the code icon (<>) at the top center of the screen to switch to Code view, then copy the files from the Files list into a local folder with the same paths. Slow for a big project, workable for a small one.
  • Ask Bolt. On a paid Bolt plan, email support@bolt.new from the address on your Bolt account; on the Free plan, Bolt points you to its Discord community instead.

Why the Bolt preview is not your production site

The Bolt preview runs in what Bolt's own repository calls an in-browser development environment powered by StackBlitz's WebContainers (in Safari, Bolt hosts the preview for you instead). That's amazing for development. It's wrong for production:

  • Other users can't access your localhost-style preview
  • The WebContainer doesn't have an externally addressable URL
  • Even if it did, you'd be running production traffic on someone else's browser-side runtime
  • Bolt's own Publish ships to a *.bolt.host address, and its Netlify integration ships to Netlify; both work, and both keep the site with a US company (StackBlitz, which makes Bolt, is headquartered in the United States, and Netlify is based in San Francisco)

So the preview is never the site. Bolt's own hosting is a real answer for a quick public URL, but the moment you want your own domain without upgrading Bolt, EU jurisdiction, or a host you can leave without rebuilding, you export. Here's the path.

Step 1: Check the exported project

After downloading the ZIP, unzip it locally:

unzip my-bolt-project.zip
cd my-bolt-project

You should see a typical Vite + React + Tailwind layout: package.json, src/, public/, index.html, vite.config.ts.

Moving a Bolt project into Claude or another AI tool

That unzipped folder is also the handoff artifact if you want to continue the project somewhere else. There is no import button between AI builders, and there does not need to be: the export is ordinary source code.

  • Claude Code. Open the folder in your terminal and run Claude Code in it. It reads the project as it stands, so you can carry on editing with full context instead of re-describing the app. To move your Bolt.new project to Claude Code for good, with a CLAUDE.md, deploys from the terminal and your own domain, follow the dedicated guide.
  • Claude in the browser. Upload the files you want to work on to the conversation. Send the source files rather than the built output, and skip node_modules entirely. For a typical Bolt project that means src/, index.html, package.json and the Tailwind and Vite config.
  • Anything else. Cursor, Windsurf, VS Code and the rest open the folder directly, because at this point it is a normal Vite project.

The thing to keep in mind: only the code moves. Any Bolt-specific integration you configured inside Bolt, and Bolt's own hosting, stay behind. That is usually the reason for the move, but it does mean deployment becomes your decision again, which is the rest of this guide. If you continue in Claude, connecting the VibeDeploy MCP server lets Claude deploy the project for you without leaving the conversation.

Step 2: Build locally

Bolt's preview is dev-mode. The deploy needs the production build:

npm install
npm run build

The dist/ folder is your deployable artifact. Keep an eye out for build errors. Bolt sometimes generates code with subtle TypeScript or import issues that the dev server tolerates but the production build catches. Fix them as they come up.

Upload that dist/ folder, not the ZIP you downloaded. The ZIP's index.html still points at source files in src/ that only a dev server can run, so VibeDeploy refuses an unbuilt project and asks you to build it first (the API reports this as UNBUILT_PROJECT). If you would rather not build on your own machine, connect the GitHub repository instead (Option C below) and VibeDeploy runs the build for you.

If Bolt used a non-standard config (sometimes it generates Astro or Next.js scaffolds), the build command and output folder may differ. Check the build script in package.json.

Built your dist/ folder?

Drag it into VibeDeploy and it is live in seconds, with your own domain included in the 14-day trial.

Host a Bolt project online: bolt.host vs your own domain

There are two ways to host a Bolt project online, and the choice comes down to the address.

On bolt.host, inside Bolt. Click Publish in the top right, then Publish again in the menu, and after about a minute Bolt puts the project on a free address ending in bolt.host. On Bolt's Free plan the site is public and carries Bolt branding, and hosting has a hard monthly limit of 10 GB of bandwidth and 333,333 requests: once that is used up, the site stops serving until the next billing cycle. Bolt's documentation is clear about domains: "Custom domains are only available on paid plans." Its pricing page lists custom domain support from Pro at $25 a month, billed monthly. Bolt can also publish through a Netlify integration instead, which needs a Netlify account and puts the site on Netlify's credit-based plans.

On your own domain, with a host you choose. Build the project (Step 2) and upload the dist/ folder, or push it to GitHub and let the host build every push. On VibeDeploy the 14-day trial includes linking one custom domain, SSL is issued automatically, and the site runs on our own Kubernetes cluster in Belgium. After the trial, Solo is EUR 4 a month for one site with your own domain.

bolt.host on Bolt Free Your domain on Bolt Pro Your domain on VibeDeploy
Address A random name on bolt.host, which you can rename Your domain Your domain, plus a vibedeploy.be address
Price $0 $25 a month billed monthly, for the whole Bolt subscription 14-day trial, then from EUR 4 a month
Traffic 10 GB and 333,333 requests a month, then the site stops 30 GB and 1 million requests a month, extra usage billed up to a cap you set 5 GB a month on Solo, more on larger plans, no overage billing
Branding Bolt branding No Bolt branding A small VibeDeploy credit during the trial, none on paid plans
Company StackBlitz, Inc. (United States) StackBlitz, Inc. (United States) Tnet Comm.V (Belgium)

Bolt Pro pays for the whole builder, which makes sense while you keep building in Bolt every month. If the app is finished and mostly needs to stay online on your own domain, a hosting plan costs less. This guide uses VibeDeploy from here; the same steps work on Netlify, Cloudflare Pages and other static hosts.

Step 3: Upload to VibeDeploy

Sign in to VibeDeploy and create a site from the dashboard. You have three options for getting the build to the host:

Option A: drag-and-drop

Drag the dist/ folder into the upload area. The dashboard also takes a ZIP of that folder or a single HTML file.

Option B: deploy from an AI agent (MCP)

Connect the VibeDeploy MCP server (https://mcp.vibedeploy.be/mcp) in Claude, Cursor or another MCP client and ask the agent to deploy. A coding agent such as Claude Code or Cursor runs the build on your machine and uploads dist/ for you, and later redeploys can send only the files that changed. New to this? Here is how MCP deploys work.

Option C: Git connect

If you push the project to GitHub, connect the repo and let VibeDeploy redeploy on every push. VibeDeploy runs npm run build itself, so it only sees what is in the repository: if the build needs values from a local .env file that is not committed, build locally and use Option A. Git connect is the right pattern if you'll keep iterating.

Step 4: Custom domain

Add your domain in the dashboard and set the DNS records it shows: a TXT record that proves you own the domain, plus a CNAME to proxy.vibedeploy.be for www or another subdomain, or an A record for the bare domain. SSL is issued automatically once the records resolve, usually within a minute. The 14-day trial includes one custom domain.

Step 5: Redeploy the next Bolt iteration

Bolt connects to GitHub natively and syncs your commits automatically, which makes future iterations one step away:

  • GitHub connect. Connect Bolt to a GitHub repository once. Bolt pushes your changes there automatically, and if that same repository is connected to VibeDeploy, every push redeploys the site.
  • AI agent. Connect the VibeDeploy MCP server (https://mcp.vibedeploy.be/mcp) in Claude or Cursor, or paste your dashboard deploy guide into ChatGPT or Gemini, and tell the agent to redeploy the new build.

Workflow either way: edit in Bolt, and either the GitHub sync or your AI agent carries the change through to a redeploy. The manual download is only needed for the first upload.

What works, what doesn't

These are the patterns we see with Bolt-built projects:

Works without changes:

  • Static HTML, single-page apps, client-side fetch to external APIs
  • Client-side routing (React Router, Vue Router, Solid Router)
  • Tailwind plus shadcn/ui (Bolt's default styling)
  • Most simple full-stack-looking sites where the "backend" is actually fetch calls to OpenAI, Supabase, or similar SaaS

Needs adjustment:

  • Anything that referenced the StackBlitz WebContainer's mock APIs
  • Hardcoded localhost URLs (search and replace before deploying)
  • Sign-in flows: add the new domain wherever your auth provider lists allowed URLs
  • Contact forms that posted to a Bolt server function: point them at VibeDeploy's built-in form-to-email relay instead, which emails each submission to you without a form service (your AI configures it with the set_forms_config tool)

Runs in a container next to the site:

  • A real backend Bolt generated, such as an Express or Hono server, or a Next.js app with API routes. Static sites and single-page apps are served directly; a server can run in a container next to the site, deployed by your AI through the MCP tool deploy_app, with Postgres, MySQL or Redis beside it if needed (up to 6 services with 2 CPU and 2 GiB of memory in total, isolated with gVisor). Container data is not yet included in snapshots.

Stays in Bolt:

  • The contents of Bolt Database and the values of your secrets stay in Bolt Cloud; the code export does not include them. Your server functions' files are part of the project, but outside Bolt they only run where a server runs them. Bolt lets you export table rows as CSV or JSON, and on a Pro or Teams plan you can claim the database into your own Supabase organization. The Bolt to Claude Code guide walks through moving them.

Cost

VibeDeploy's 14-day trial is free, needs no card and covers one site with one custom domain. After that, Solo is EUR 4 a month for one site with your own domain, with 1 GB of storage and 5 GB of bandwidth a month, and Maker is EUR 15 a month for three sites. Prices include VAT where it applies.

Compared to Netlify Pro at $20 per month on a metered credit pool, the EU-resident path is both cheaper and more predictable for small teams.

Common problems

"I clicked Publish in Bolt and it went live on bolt.host." That's the built-in path, and it is a real site. To move it to a domain you own without upgrading Bolt, use the project title in the top left, then Export > Download, and follow the steps above.

"My fetch calls fail in production." Bolt generates code that often references the WebContainer's local mock API. Search for localhost and 127.0.0.1 in your source. Replace with the real API URL or move to environment variables.

"My Tailwind isn't loading." Make sure Tailwind's content config includes ./src/**/*.{ts,tsx} and ./index.html. Bolt usually gets this right, but exports occasionally miss files.

"I want to keep iterating in Bolt but auto-redeploy." Connect Bolt to a GitHub repository. Bolt handles the Git steps itself and syncs each change, so pointing VibeDeploy at that repository gives you an automatic redeploy on every iteration.

Where to go next

For tool-agnostic deploy patterns: How to deploy AI-built websites in 2026.

For an honest comparison between Netlify, which Bolt still integrates with, and EU hosting: VibeDeploy vs Netlify.

For the deploy walkthrough specifically: /for/bolt.

Leaving Bolt for a coding agent: move a Bolt.new project to Claude Code.

Reading in German: Bolt.new-Projekt exportieren und in der EU hosten.

Sources

  • Bolt Help Center, Manage your projects and Backups, restore, and version history: Export > Download under the project title, and the 2026 change in how Bolt stores project code. Checked 13 October 2026.
  • Bolt, Release notes: Open in StackBlitz no longer available for projects in the new format, and hosted previews in Safari. Checked 13 October 2026.
  • StackBlitz, bolt.new repository: "an in-browser development environment powered by StackBlitz's WebContainers". Checked 13 October 2026.
  • Bolt Help Center, GitHub for version control and Team settings: the GitHub icon, automatic commits, owner-only setup and the team-wide integration control. Checked 13 October 2026.
  • Bolt Help Center, Code view: the code icon and the Files list. Checked 13 October 2026.
  • Bolt Help Center, Contact support: email support at support@bolt.new for paid plans, sent from the address on the Bolt account, and community support on Discord for everyone else. Checked 13 October 2026.
  • Bolt Help Center, Publish your project, Domains, Bolt Cloud hosting plans and Netlify for hosting: bolt.host publishing, custom domains on paid plans, the Free and Pro traffic limits and the Netlify option. Checked 13 October 2026.
  • Bolt Help Center, Database: Tables and Supabase for databases: row export and claiming a Bolt database in Supabase. Checked 13 October 2026.
  • Bolt Help Center, Database: FAQs and Integrations issues: secrets stay outside your plain code, and each server function has its own file in the project. Checked 13 October 2026.
  • Bolt, Pricing: Pro at $25 a month billed monthly, custom domain support, Bolt branding on Free. Checked 13 October 2026.
  • StackBlitz, Privacy Policy: StackBlitz, Inc. is headquartered in the United States. Checked 13 October 2026.
  • Netlify, Pricing and Privacy Policy: Pro at $20 a month, credit-based plans with bandwidth billed in credits per GB, and Netlify, Inc.'s San Francisco address. Checked 13 October 2026.
  • GitHub Docs, Downloading source code archives: Code > Download ZIP. Checked 13 October 2026.
From the VibeDeploy team

Ship your AI-built site in minutes

VibeDeploy hosts your AI-built websites in the EU with custom domains, automatic SSL, and a 14-day free trial that gets you online today.

Deploy guides for this topic

Questions people ask

There is no download button in Bolt, what now?

Bolt keeps the download in the project menu rather than on a button of its own. Open the project, click the project title in the top left, then choose Export > Download. If that still gives you no ZIP, connect the project to GitHub from the GitHub icon in the top right and download the repository on GitHub with Code > Download ZIP. The checklist in this guide covers the other usual causes.

Can I download my Bolt project for free?

Bolt's help center describes Export > Download and the GitHub connection without any plan requirement, and Bolt's pricing page does not list exporting as a paid feature. What Bolt does charge for is your own domain on its hosting. Once you have the build, hosting it on your own domain costs nothing during VibeDeploy's 14-day trial and EUR 4 a month on Solo after that.

Why won't my Bolt ZIP deploy?

Because it holds source code, not a built site: its index.html still points at files in src/ that only a dev server can run. VibeDeploy refuses such an upload and asks you to build first (the API reports UNBUILT_PROJECT). Unzip it, run npm install and npm run build, and upload the dist/ folder that appears. Or push the project to GitHub and connect the repository, and VibeDeploy runs the build for you on every push.

How do I move a Bolt project to Claude?

Get the code out with Export > Download or the GitHub sync, open the folder in Claude Code and add a CLAUDE.md that describes the stack and the build commands. Connect VibeDeploy once and Claude Code can deploy the project as well. The step-by-step version is move a Bolt.new project to Claude Code.

Can I host a Bolt project on my own domain?

Yes. Inside Bolt, custom domains are only available on paid plans, and Bolt's pricing page lists custom domain support from Pro at $25 a month. Or build the project and host it elsewhere: VibeDeploy's 14-day trial includes linking one custom domain with automatic SSL, and Solo is EUR 4 a month after that. Prices include VAT where it applies.

Related reading