Guide · 6 minute read · 21 October 2026
How to get your code out of Lovable, Bolt, Replit or v0
Every builder lets you take your project out. The button is in a different place in each one, some charge for the easy route, and none of them hands over everything. Here is where to click, what you get, and what to do with the folder once you have it, without opening a terminal.
What comes out, and what stays behind
An export is the project's files: the pages, the styles, the scripts and the list of parts the project depends on. That is what a host needs to put the site online. It is not the whole product. Four things stay where they are, in every builder.
- The data. If the app has a database, the export holds the shape of it, sometimes with a script that recreates that shape, but not the rows. Data is exported separately, where that is possible at all.
- The secret values. Keys and passwords live in the builder's settings, not in the files. Lovable's docs list secrets among what the download excludes, and Replit's say the same about environment variable values. You set them again on the new host.
- The address. A free builder address (name.lovable.app, name.bolt.host, name.replit.app) belongs to the builder. A domain you connected stays pointed at the builder's project until you point it somewhere else.
- The people. If the builder's own sign-in runs your users, their passwords don't come with the files.
So “can I export my app?” has the answer “yes, the code”. The rest is a second job.
Lovable
Lovable has two routes, and the free one is the better one.
Git sync is on every plan, Free included. Open Project settings, then Git, then GitHub, and click Connect. Lovable creates a new private repository on GitHub from your project; it can't attach to a repository you already have. From then on every change you make in Lovable goes to GitHub, and changes pushed to the repository come back into Lovable. It syncs one branch at a time, normally main.
Once the repository exists you can get a folder from GitHub without paying: open the repository page, click Code, then Download ZIP.
Download codebase is the direct route, and it needs a paid plan. It sits in Project settings under Git, and at the bottom of the file list in the Code view.
Which kind of project you are holding matters more than it used to. Since 13 May 2026 every new Lovable project is built on TanStack Start and renders its pages on a server, so it needs a host that can run a server. Projects made before that date are React and Vite, and build to plain files. If you aren't sure, ask Lovable “What stack is this project on?”.
The database is separate. Lovable's FAQ says the database export doesn't include stored files, Edge Function code or secrets, and its self-hosting page says that moving the database alone “does not move authentication, storage, realtime, or Edge Functions”.
Bolt
The GitHub icon at the top right of a project connects Bolt to GitHub. Bolt creates a private repository on a main branch and keeps it updated as you build. For a one-off copy, the project menu (click the project name at the top left) has Export, then Download, and your browser saves a zip. That menu path comes from guides written this year, not from Bolt's own help pages, so if the label has moved, look for Export.
Bolt projects are usually Vite or Next.js. Vite builds to files; a Next.js project usually needs a host that runs it.
Replit: how to get your app out
In the Files pane, the three-dot menu has Download as zip, and the whole project comes down as one file. Replit's own import page lists what a zip carries, the project files, the folder structure and the dependency files, and what it doesn't: environment variable values, custom domains and database data. The export works the same way in reverse. A database that Replit set up for the app stays on Replit, so plan to export its contents, not to move it.
v0
The project's three-dot menu has Download ZIP. The Git section in the sidebar pushes the project to GitHub instead, on a branch v0 names for you. A v0 project is normally a Next.js app, which means a host that runs a server. The values in v0's Vars panel exist only inside v0; set them again wherever the project goes next.
Your AI chat gave you the files
ChatGPT, Claude and Gemini have no export button because there is nothing to export: the file is already in the chat. A web page arrives as one HTML file, or as a zip with a few files in it; download it. A Claude artifact has controls at the top of its panel to view the code, copy it or download it. A project that Claude Code or Cursor built is already a folder on your computer. The Claude details are in How to put a Claude-built app online.
Do you need GitHub?
No. GitHub is a place that keeps a copy of a project's files and every change made to them. The builders use it as the pipe that carries updates out. It helps when you plan to keep editing in the builder and want the live site to follow. It's a detour when you want one copy of the files today. Lovable makes it the free route, which is the one reason to set it up without wanting it.
What to do with the folder
Don't run anything. The folder is one of two things, a set of files a browser can open or an app that needs a server running, and Does my app need a server? tells you which in two minutes. A host that reads the folder works out the build itself; the “npm install, npm run build” at the end of most export guides is what you would do to build it by hand on your own computer, and you don't have to.
Keep two things next to the folder: the names of the settings the app needs (a file called .env.example, if there is one, lists them), and the export of the data, if there is data.