# Can you export your Base44 code? What you get, and what to do before you outgrow it

> What Base44's eject command actually does, what moves with your code and what doesn't, and how to keep your options open while your app grows.

- Author: Prayag Dalal (https://shipfast.online/about/)
- Published: 2026-10-12
- Canonical: https://shipfast.online/blog/base44-export-code/

## Key takeaways

- You can download your Base44 app's code, but eject links it to a new copy of the project in Base44 rather than cutting it loose.
- Your code and schema move; existing data and secrets don't move on their own.
- Leaving Base44 means rebuilding the backend somewhere you control, then moving the data.
- Export your data regularly and keep a list of secrets from day one, even if you never leave.

Base44 is one of the fastest ways to go from an idea to a working app, because it builds the app and runs its backend for you. The question founders ask once the app has real users: can I take my code with me? The short answer is yes, but not all of your app comes with it.

## What "eject" does

Base44's command line tool has an `eject` command. According to Base44's documentation, it ([Base44 docs](https://docs.base44.com/developers/skills/base44-cli/references/eject)):

1. lists the projects you can eject
2. downloads the project's code to your machine
3. creates a new project in Base44 as a copy ("My App Copy")
4. links the downloaded code to that new project, with its ID in a `.env.local` file
5. can install, build and deploy it with `base44 deploy`

So eject gives you the source code and a separate copy to work on. It doesn't, by itself, move your app off Base44. The code stays linked to a Base44 project.

## What moves, and what doesn't

Replit's guide to importing a Base44 app is a useful second view of what comes across when you move it somewhere else ([Replit docs](https://docs.replit.com/build/import-from-base44)):

| Moves with the code | Doesn't move on its own |
|---|---|
| Application logic and source files | Existing database records |
| Design, styles and UI components | Secrets: API keys and environment variables |
| Images, icons and static files | |
| Backend logic and the database schema, where present | |

The two things that don't move are the two that matter most: your customers' data and the keys that connect your app to payments, email and AI.

## When staying is the right call

Leaving isn't automatically better. Staying on Base44 makes sense when:

- the app does what you need and your users are happy
- you don't have specific requirements for where data lives
- you'd rather spend money on growth than on infrastructure

## Signs it's time to plan a move

- you need a feature or integration the platform can't support
- a client or regulation requires data in a place you control
- costs or limits are growing faster than the business
- you want a developer team to work in the code every day

## What to do now, either way

1. **Export your data on a schedule.** Know how to get every table out, and test it once.
2. **Keep a list of your secrets.** Every external service the app uses, and where its key lives.
3. **Write down your entities.** What each table holds and how they relate. It's the map for any future move.
4. **Download the code periodically.** Even if you never leave, it's a backup of your work.

## If you do move

Moving means three jobs: the code (which eject gives you), a new backend for data, authentication and server logic somewhere you control, and a careful data migration, tested before you switch users over. I compare where each builder keeps your backend in [Lovable vs Bolt vs Replit vs Base44](https://shipfast.online/blog/lovable-vs-bolt-vs-replit-vs-base44/).

If you're weighing whether to stay or move, an [app rescue](https://shipfast.online/services/app-rescue/) starts with an audit that answers exactly that, before you spend anything on the work itself.

---

Book a 30-minute call: https://cal.com/prayagdalal/30min
