How to export your Base44 app without leaving half of it behind
Daniel Frishtik
Founder of EscapeBase44 ·
Yes, you can export your Base44 code. But the ZIP or GitHub repo is still wired to Base44, and it does not include your live database or the backend platform that runs the app. Unless your app is basically a static website, you are still stuck in Base44.
If your plan was to export the app, put it somewhere else and cancel Base44, the export does not get you there. Your users still log in through Base44, your data still lives there, and the exported code still calls Base44 whenever the app needs its backend. You downloaded the files. You did not move the app.
You built the app because you needed it, not because you wanted a lesson in hosting and backend infrastructure. Now it may have customers, data or an actual business inside it. You want to know you can keep it without Base44. The Export button sounds like the answer. For most apps, it is only the first step.

The export gives you code, not a Base44-free app
The export contains more than the frontend. You get the React/Vite frontend and the source for your custom backend functions. Depending on how you export, you can also get entity schemas and backend configuration.
That is real code, and it is useful. Your pages, buttons, forms, styling and custom functions are not fake. But Base44's own backend platform is not inside those files. That platform handles the database, user login, permissions, integrations, agents, files, realtime updates and all the other work the Base44 SDK asks it to do. The exported files keep calling that platform whenever the app needs any of those things.
| Method | What you get | What stays behind | Best for |
|---|---|---|---|
| Project ZIP | Frontend and function source in a one-time download | Live data and the hosted Base44 platform | A code snapshot |
| GitHub | Two-way code sync and version history | Data, entity schemas and the hosted platform | VS Code, Cursor, Claude Code or a developer |
| CLI eject | Frontend, functions, schemas and backend configuration | Every live record and the Base44 runtime | The richest official local clone |
| Data CSV | All records from one selected table | Every other table, files, code and runtime | Backup, Excel or analysis |
The source for a backend function is not the whole backend. If you wrote a function called sendInvoice, you can get that function. You do not get Base44's implementation of user accounts, database access, permissions, file storage and every SDK endpoint that function relies on.
Pick the export that matches what you actually need
I want a safety copy
Download the ZIP and export every data table as CSV. Either one alone is an incomplete backup. The ZIP has code without records; the CSVs have records without the app that uses them.
I want to use VS Code, Cursor or Claude Code
Use GitHub two-way sync. It is the cleanest way to edit locally and keep Base44 as the backend. This changes your editor, not your infrastructure.
I want the richest official local copy
Use the Base44 CLI's eject command. It copies more backend configuration, but creates another Base44 project with an empty database.
I want to leave Base44 completely
Treat the export as the starting material. You still need to move the data and replace every Base44 service your app calls, or migrate the whole app with a tool or developer that does.
Staying on Base44 is a perfectly reasonable answer if you only wanted a better editor or a developer handoff. GitHub sync is good for exactly that. But if you need to cancel Base44 and keep the same app working, the repo is not enough.
How to export Base44 code as a ZIP
The official ZIP export requires the Builder plan or higher. In your app editor:
- Open Code from the top bar.
- Click the Export project as ZIP icon at the top right.
- Unzip the download into its own folder.
If you only wanted the files so you can have them somewhere safe, you are done with the code part. Put the ZIP somewhere you control and continue to the data-export section below.
To run it locally, install Node.js, open a terminal in the project folder, run npm install, add the Base44 app ID and backend URL to .env.local, then run npm run dev. Those environment values matter. They are how the downloaded frontend finds the original Base44 backend.
Verdict: the ZIP gives you a useful snapshot of the code. Base44 still holds the live data and runs the backend the code calls.
How to export Base44 to GitHub
GitHub also requires Builder or higher. It syncs code both ways between Base44 and a repository in your GitHub account.
- Open your app's Dashboard.
- Click the GitHub icon, then Connect to GitHub.
- Authorize the Base44 Builder GitHub app.
- Choose your GitHub account or organization and create the repository.
- Clone that repository onto your computer and install its dependencies.
You can open the cloned folder in VS Code, Cursor, Claude Code, Codex or any normal editor. Changes merged into the main branch sync back to Base44. You then publish them from Base44 for users to see.
One easily missed detail: entity schemas are managed in Base44 and are not included in the GitHub two-way repository. Your live database records are not there either.
Putting the repo in your GitHub account does not move the rest of the app. The local setup still asks for a VITE_BASE44_APP_BASE_URL. That setting points the exported code straight back to Base44 for its backend.
Verdict: GitHub is the best official option for version control, AI coding tools and developer collaboration while the app remains on Base44. It is not a migration off Base44.
The Base44 eject command gives you more code, not independence
Base44's CLI has a command with an unusually promising name:
npm install -g base44@latest
base44 ejectChoose the existing app and a destination folder. The command downloads the React frontend, entity schemas, backend functions and configuration files. That is the most complete first-party code copy currently available.
Now the part the command name does not tell you: it creates a new backend on Base44 with a new app ID. That new database is empty. The schemas come across, but none of your customers, orders, posts or other records do. Your original app stays untouched, and the two Base44 projects go their separate ways.
This is useful if you want branches, pull requests and full local control over the code while continuing to use Base44 as a backend service. It is not a database backup, and it does not eject you from Base44 itself.
How to export Base44 code for free
Base44's official ZIP and GitHub buttons are paid features. On Free, your two practical choices are copying files manually or using a browser extension that reads the project tree and turns those visible files into a ZIP.
I understand why these downloaders exist. Manually creating every folder, opening every nested file and copy-pasting it is miserable. A decent extension can save hours. People also report unsupported apps and missing images or videos, so inspect the result instead of assuming the ZIP is complete. And before giving an extension access to private code, check who made it, what permissions it requests and whether it sends the code anywhere.
No extension can get around this part. A browser downloader can copy what the Base44 editor exposes as files. It cannot download Base44's backend platform or turn your live database into part of that ZIP, because neither one is sitting in the file tree.
Verdict: use a downloader if you need a free frontend/code snapshot or want to experiment locally. Do not treat it as a complete backup or a finished migration.
How to export your Base44 data
Code and data leave through different doors. To export a table:
- Open Dashboard.
- Choose Data.
- Select the table you want.
- Open More Actions and click Export.
Base44 downloads that table as a CSV you can open in Excel or Google Sheets. Repeat this for every table you care about. If the dashboard only shows 5,000 records, the CSV export still includes all records in that table.
A folder of CSVs is far better than no backup, but it is not a full database you can plug into another app. Relationships between tables need to remain intact. File fields may point to files still hosted by Base44. Base44 does not expose your users' passwords, so the User table cannot contain them. Agents, conversations, automations and secrets are not magically packed into the customer CSV.
For the strongest backup you can make with ordinary Base44 controls, keep both sides: the ZIP or repository for code, and a CSV from every data table for records. Also keep the original files your users uploaded if the app depends on them.
Why the export still leaves you dependent on Base44
Your exported code can live somewhere else while Base44 still runs the app. Imagine your app has a Save order button. You export the code, host it elsewhere, open the new URL and click that button.
- The button runs from the frontend on your new host.
- The Base44 SDK sends the request to your Base44 backend URL.
- Base44 checks the logged-in user and permissions, then writes the order to its database.
Your new host is serving the screen. Base44 is still running the app behind the screen. The same pattern applies when the app logs somebody in, reads a table, uploads a file, calls an agent, starts an integration or subscribes to realtime updates.
The new URL may load and every button may work precisely because Base44 is still doing the invisible work. That success does not mean the app can run without Base44. It means the connection to Base44 still works.
What it takes to get the whole app out
If your project is a static landing page with no login, database, functions, files or integrations, the official export may be almost everything you need. Put the frontend on normal hosting, remove any unused Base44 setup, and you can be done. I would not pay someone to “migrate” that for you.
For an app with real users and data, the job is larger. You need to find every Base44 SDK call, understand what it asks Base44 to do, move the relevant records and files, recreate that behavior on infrastructure you control, change the app to call it, and test the same flows your users actually perform. Authentication and permissions deserve especially careful work. A page that loads is not proof that users can only see the data they should.
You can do this with Claude Code, Cursor, Codex or a good developer. People have. It makes the most sense when the app is simple enough, you are technical enough to judge the result, and you have time to chase the parts AI misses. Ask for a migration, not a visual rebuild. Recreating screens you already have is an expensive way to lose edge cases.
The minimum DIY inventory
- Every entity schema and every record
- Users, login methods, roles and row-level permissions
- Backend functions, secrets and scheduled automations
- Integrations, connectors, agents and conversations
- Uploaded files, storage URLs, SEO files and domain setup
- Every Base44 SDK call in the frontend and functions
This wall is why I built EscapeBase44. I had made an app in Base44, tried to get it out, and learned that downloading the visible code was half the game. I did not want to rebuild my product screen by screen, so I ended up replicating the Base44 backend behavior and automating the extraction of the parts around it.
EscapeBase44 moves the existing app as is: frontend, backend, database, users, auth, functions, automations, integrations, agents, conversations, files, permissions, SEO and the weird configuration holding it together. It deploys them onto normal provider accounts you own and gives you the complete GitHub repository. The original Base44 app is left untouched.
Afterward, the app's normal runtime no longer depends on Base44. Existing password users are the one transition to handle carefully. Base44 never exposes their passwords, so the first time each one logs in, password forwarding checks that login against the untouched Base44 app and saves it in your own backend. You can cancel the Base44 subscription immediately, but keep the original app until those users have logged in once.
You can edit the migrated app with normal tools, keep building with AI, change providers later or hand the repo to any developer. There is no EscapeBase44 subscription required to keep it running.
Once the independent app is running, the Base44 cancellation guide has the exact web, mobile and Apple steps. Export before your Builder access ends if you plan to keep a separate code copy.
A code export is useful, but it is not an exit
The official export gives you real files you can back up, edit and hand to a developer. GitHub sync is genuinely useful if you want to work outside the Base44 editor while keeping Base44 behind the app. The CSV export gives you a copy of each table's records.
None of those options gets a normal app out of Base44. If the app needs login, data, permissions, files, integrations, agents, automations or backend functions, those parts need somewhere else to run before Base44 is out of the loop.
That work is the migration. Once it is done, the same app keeps working without a Base44 backend URL hidden in its environment settings. Until then, you exported the code. You did not leave Base44.
If you want to leave Base44, move the running app, not only the files you can download.
Base44 code and data export FAQ
Can you export code from Base44?
Yes. On Builder or higher, you can download a project ZIP or connect the app to GitHub. But the export does not include your live database or Base44's hosted backend platform, so it is not enough to move most apps off Base44.
Does Base44 export backend code?
It exports your custom backend-function source, and the CLI eject command also copies entity schemas and backend configuration. It does not export Base44's backend platform, which provides authentication, database APIs, permissions, integrations, agents, storage, realtime behavior and other SDK endpoints.
Can I download my Base44 app as a ZIP?
Yes, on Builder or higher. Open Code in the app editor and click the Export project as ZIP icon at the top right. The ZIP is a code snapshot, not a copy of your live data or a self-contained deployment.
Can I export Base44 code for free?
Base44's official ZIP and GitHub options require Builder or higher. Browser extensions can copy the workspace files visible in your browser on the Free plan, but they can miss files or media and cannot export the live database or Base44's backend platform.
Can I open Base44 code in VS Code, Cursor or Claude Code?
Yes. GitHub two-way sync is the cleanest official workflow: clone the repository and open it in your preferred editor. The local app still uses the Base44 SDK and hosted Base44 backend unless you replace those dependencies.
Does Base44 GitHub export include the database?
No. GitHub contains code files, not the records in your live Base44 database. Entity schemas are also excluded from Base44's GitHub two-way integration. Export each data table separately as CSV if you need a backup of the records.
How do I export Base44 data to Excel or CSV?
Open Dashboard, choose Data, select a table, open More Actions and click Export. Base44 downloads that table as CSV, which opens in Excel or Google Sheets. Repeat this for every table you need.
Does base44 eject move my app off Base44?
No. The CLI eject command creates a new local project and a new backend on Base44. It copies frontend code, schemas, functions and configuration, but the new database is empty and the result still uses Base44 infrastructure.
Can I host exported Base44 code on Vercel?
Yes, but hosting the frontend on Vercel does not remove the Base44 dependency. Unless you replace the Base44 SDK calls and migrate the data, authentication and other backend services, the Vercel-hosted app still talks to Base44.
How do I remove every Base44 dependency?
Inventory every Base44 SDK call and move the corresponding data, users, authentication, functions, automations, integrations, agents, files, permissions and configuration to infrastructure you control. Then change the app to call that infrastructure and test the real user flows. That is a migration, not a code export.