Skip to content
Base44 SEO Journal

How to export your code from Base44

Three ways to export Base44 code: download a ZIP, sync to GitHub, or eject with the CLI. What each includes, which plan you need, and what the export can't take with it.

8 min read

You can export Base44 code three ways: download a ZIP, sync it to a GitHub repository, or eject it with the Base44 CLI. ZIP and GitHub need the Builder plan or higher. All three give you a standard React and Vite project. None of them export your data, and the code keeps calling your app’s Base44 backend until you replace it.

Exporting is the first step in any Base44 migration. Here’s how each method works.

Option 1: download a ZIP

The quickest way to get a copy. From Base44’s docs:

  1. Open your app in the editor.
  2. Click the More actions icon in the top bar and select Export project as ZIP.

Or open the Code tab and click the Export project as ZIP icon at the top right of the code view.

A ZIP is a snapshot. It won’t update when you keep building, so re-export whenever you want a fresh copy, or use GitHub sync instead.

Option 2: sync to GitHub

GitHub two-way sync (Builder plan) creates a repository and keeps it current: every change you make in Base44 is pushed automatically, and changes merged into main on GitHub come back to Base44. It’s the best option if you want an always-current copy or plan to edit locally. The GitHub integration guide covers setup and its rules, including one that catches people out: once connected, you can’t restore versions from before the connection.

Option 3: eject with the CLI

base44 eject “clones an existing Base44 app into a separate local project.” It downloads the frontend code, the entity schemas and other backend resources, then creates a new backend project with its own app ID. From the CLI docs:

npm install -g base44@latest   # needs Node.js 20.19.0 or higher
base44 login
base44 eject                   # pick the app interactively
# or, non-interactively:
base44 eject --app-id <your-app-id> --path ./my-ejected-app --yes

Your app ID is in the editor URL: app.base44.com/apps/<app-id>/editor.

What’s in the export

Per Base44’s project structure docs, “Base44 apps are standard React apps built with Vite.” A typical export:

src/
  pages/        # one file per route: Home.jsx becomes /, Settings.jsx becomes /settings
  components/   # reusable UI; components/ui holds pre-built components
  api/          # Base44 SDK client configuration
  hooks/        # custom React hooks
  lib/          # Base44 integration and app configuration
  utils/        # helpers
entities/       # JSON schema per data type (not in the repo under GitHub two-way sync)
functions/      # backend functions, one TypeScript file each
package.json    # includes @base44/sdk
vite.config.js  # includes the Base44 Vite plugin
tailwind.config.js
index.html

To run it: npm install, then npm run dev.

What the export doesn’t include

Not in the code exportWhere it livesHow to get it
Your recordsBase44’s databaseCSV per table from the Data page
User accountsBase44 authenticationExport the User table; Base44 documents no password export
Uploaded filesBase44 media storageDownload from the URLs in your data
Secrets and API keysBase44’s encrypted vaultCopy them from your providers again
Built-in integrationsBase44’s serversReplace with your own providers
Hosting, redirects, SEO pre-renderingBase44’s platformRecreate at your new host

The data export guide covers the first three.

How much of your app depends on Base44

Search the export for SDK calls to see what you’d have to replace to run independently:

grep -rhoE 'base44\.(entities|auth|integrations|functions|agents)\.[A-Za-z]+' src | sort | uniq -c | sort -rn | head -30

Calls to base44.entities.* are your database. base44.auth.* is login. base44.integrations.Core.* is built-in email, LLM calls, file uploads and similar. Each has to point at a new service before the app stands on its own. The Supabase migration guide shows the replacements.

What to do next

  1. If you’re on the Builder plan, connect GitHub now. It’s a continuously updated export.
  2. Export your data to CSV and keep it with the code.
  3. Run the exported app locally to confirm it builds, using the local development guide.

Found something wrong or out of date? Base44 ships changes every week and we'd rather fix a guide than let it rot.

Frequently asked questions

Can I export Base44 code on the free plan?
Not as a ZIP or to GitHub. Base44's docs say both require the Builder plan or higher. You can view and copy files in the Code tab on paid plans, and the Base44 CLI offers other routes for developers.
What's included when I export a Base44 app?
The React and Vite frontend: pages, components, the SDK client configuration, hooks, utilities and config files such as package.json, vite.config.js and index.html. The CLI's eject command also copies entity schemas and backend resources. Your data is not included in any code export.
Does exported Base44 code work without Base44?
It builds and runs as a React app, but it still uses the Base44 SDK to reach your app's backend for data, login and integrations. To run completely independently, replace those SDK calls with your own backend.
How do I export my Base44 database?
Separately from the code. Open the Data page in the app editor and export each table to CSV. The CLI's eject copies entity schemas but leaves the new project's database empty.

Read next