
Whatever the reason, getting your code out of Base44 is possible, and this guide walks you through every method, including one that works without paying anything.
There is also one important thing to know about what the export actually contains. Most people find out too late, so this guide covers it up front.
Choosing the right website builder can make it easier to launch and manage a professional site without extra complexity. The platforms in the table below are worth comparing for their ease of use, design flexibility, and overall value. A strong builder can also help businesses move faster while keeping their online presence polished and adaptable. See our recommended website builders here.
Website Builders That Keep Site Setup Simple and Flexible
| Provider | User Rating | Recommended For | |
|---|---|---|---|
![]() | 4.6 | Beginners | Visit Hostinger |
![]() | 4.4 | Pricing | Visit IONOS |
![]() | 4.2 | Design | Visit Squarespace |
First: Which Plans Allow Code Export?
The two main export methods, ZIP download and GitHub integration, are only available on paid plans.
You will not find the export option on the free tier or the Starter plan. If you click the export button on either of those, you will see an upgrade prompt.

Plans that unlock code export:
- Builder
- Pro
- Elite
- Enterprise
If you are not on one of these plans, skip straight to Method 3, which covers the manual approach that works for free.
Method 1: Export as a ZIP File (Paid Plans)
This is the quickest way to get a complete local copy of your code.
Step 1: Open your project in Base44.
Step 2: Click Code in the top navigation bar. Your full file structure will appear in a panel on the left.

Step 3: In the top-right corner of the code view, click the Export project as ZIP icon (the download icon).

Step 4: The download starts immediately if you are on a qualifying plan. Your browser saves a ZIP file containing your complete project.
Once downloaded, unzip the file. You will see a structured React project with the following folders and files:
- entities/ — your app’s data model definitions
- src/api/ — API client files including the base44 SDK integration
- src/components/ — UI components such as buttons, cards, sidebars, and inputs
- src/hooks/ — custom React hooks
- src/lib/ — shared library utilities
- src/pages/ — one file per page in your app
- src/utils/ — helper functions
- App.jsx, index.css, main.jsx, pages.config.js — root-level project files
At this point, you have the code. What happens when you try to run it is covered in the section below on what the export actually contains.
Method 2: Push to GitHub (Paid Plans)
If you want version history, the ability to edit locally and track changes, or a repository you can share with a developer, GitHub integration is the right choice.
Step 1: Open your project in Base44.
Step 2: Click the GitHub icon in the top navigation bar.

Step 3: Follow the setup flow to connect your GitHub account. Base44 will ask for authorization to create or push to a repository.

Once connected, your app’s code is pushed to a GitHub repository that you own. You can clone it locally, open it in VS Code or any editor, and view the full commit history.

Two things worth knowing about the GitHub integration:
- It is currently a one-way export. Changes made in Base44 push to GitHub, but you cannot import code from GitHub back into the Base44 editor. Whatever you change locally stays local unless you rebuild it in Base44.
- GitHub integration requires the Builder plan as a minimum. Clicking the icon on a lower plan shows an upgrade prompt.
Method 3: Copy Files Manually (Free)
No paid plan? You can still get your code out; it just takes more effort. This method requires you to open each file individually and copy its contents by hand.
Step 1: Open your project in Base44.
Step 2: Click the three-dot menu (the “…” icon) in the top-right area of the editor.
Step 3: Select Files used in this page. A panel appears on the right showing the files for the current page.

Step 4: At the bottom of that panel, click See all files to view every file in the project, not just the current page.
Step 5: Click a file to open it in the Code Editor. Select all the content using Ctrl+A on Windows or Cmd+A on Mac, copy it, and paste it into the matching file in a folder on your computer.

Step 6: Work through every file in the list. For each one, create the correct folder structure locally to match what you see in Base44, so the files reference each other correctly when you try to run the project.
A few things that will trip you up if you are not careful:
The “Files used in this page” panel only shows files for the currently open page, not the whole project.
Always click “See all files” and work from that complete list. It is easy to miss small configuration files like .gitignore or components.json, and those missing files can cause the project to fail when you try to run it locally.
Once you have all the files copied into the correct folder structure, you still need to do a few things before the project will run:
- Open a terminal in your project folder
- Run npm install to install all the dependencies listed in package.json
- Run npm start or npm run dev to start the app locally
Even after doing all of this, you will hit the limitation described in the next section.
What the Export Actually Contains (And What It Doesn’t)
This is the part most people discover after the fact, and it is worth understanding before you invest time in an export.
When you open your exported code, everything looks complete. Pages, components, logic, configuration, all of it is there. But if you look closely at the import statements, you will see something like this on nearly every page:
import { base44 } from “@/api/base44Client”
That single import is what connects your app to Base44’s servers. Every time your app reads from the database, authenticates a user, or runs a backend function, it does so by calling Base44’s infrastructure through this SDK. The exported code cannot replicate that on its own.
In practical terms, this is what breaks when you try to run the app independently:
- Every button or action that reads from or writes to your database will return nothing or throw an error
- User login and authentication will not work
- Any backend function your app triggers will fail
The UI will render. The shell of your app will load. But anything interactive that depends on data or user sessions will be broken.
So what can you legitimately do with the exported code?
- Review and study it. The exported code is clean, readable React that you can learn from or audit.
- Edit the frontend. Styling changes, page restructuring, and component swaps are all fair game with the exported files.
- Use it as a starting point for a rebuild. If you want to migrate to a fully independent stack, the exported frontend gives you a solid foundation to build from rather than starting from scratch.
- Wrap it for mobile. Base44 supports using the exported code with tools like Capacitor or PWABuilder to package your app for mobile distribution, on the Builder plan and higher.
What you cannot do is drop the ZIP onto Vercel or your own hosting and expect a working app.
The backend dependency on Base44 remains unless you replace the SDK with your own infrastructure, which is a real development project, not a quick swap.
How to Export Your Data
Code and data are separate exports in Base44. If you want your database records as well as your code, here is how to get them:
Step 1: In your app editor, click Dashboard in the top navigation.
Step 2: Click Data in the left-hand menu.
Step 3: Select the collection you want to export.
Step 4: Click the three-dot More Actions icon next to Permissions.

Step 5: Select Export. The collection downloads as a CSV file.
Repeat this for each collection. If you are migrating or want a complete backup, export all your data collections alongside the code so you have everything together.




