whocanfixmyapp

Home / Problems / Code and ownership

How to move my Replit app off Replit

VC-49ReplitUpdated October 2026By

Quick verdict

Partly fixable yourself. Code is easy, the database and secrets need care

How serious
Medium
Fix it yourself?
Partly, some steps need a developer
Typical cost
$300–$25,000 to move off the builder (prices)
Top rated for Replit
Afterbuild Labs · 10.0/10

What you see. You want the app, its database and its domain running on a host you control, without losing data on the way.

Why it happens

A Replit app is five things: the code, the Secrets, a Postgres database with a development and a production copy, the deployment, and a domain. Replit's own guide for copying a project to another workspace covers the same steps you need to leave. The code moves through GitHub from the Git pane, or as a zip from the file tree. GitHub only carries committed files. The zip should exclude node_modules, build folders and .cache, which holds cached secret values.

The database moves with pg_dump from the Shell, using the production connection string from the Database tool's Settings tab. Secrets never leave the old project, so you copy each one by hand. Anything the Agent built on a Replit-only service needs a replacement on the new host. Replit suggests planning roughly 15 to 60 minutes of downtime for the cutover, and notes that data written after the dump is not included.

Fix it yourself

  1. Push the code to GitHub. Open Tools > Git, click Initialize Git Repository if needed, connect your provider, commit and click Push updates.
  2. Take a zip as well. Open the three-dot menu at the top of the file tree and choose Download as zip.
  3. Export the production database from the Shell: pg_dump -Fc "$DATABASE_URL" --no-owner --no-privileges -f backup.dump, replacing the URL with the production string from Database > Settings. Download the file and do not commit it.
  4. Copy every secret by hand from Tools > Secrets and from Publishing > Adjust settings > Production app secrets into the new host's environment settings.
  5. On the new host, create a Postgres database, load the dump with pg_restore, set the environment variables, and deploy from the GitHub repository.
  6. Cut over: unpublish the old app, take a final dump, restore it, then move the domain under Publishing > Domains. Delete backup.dump everywhere after about a week.

When to get an engineer

Hire an engineer when the app uses Replit-only services, when the database has many tables linked by IDs, or when you cannot afford more than a few minutes of downtime. Share the GitHub link, the list of secrets by name only, your user count, and the domain registrar. Moving off the builder costs $300–$25,000. A small app with one database sits at the low end, an app with payments, file storage and background jobs at the high end.

Top-rated companies for Replit apps

Ranked by our score: published prices, scope of work, AI tools named, timing and a low-risk first step. How we score.

  • 1Afterbuild Labs10.0/10Best for: A check before launchFree first step · from $49
  • 2Redlab10.0/10Best for: A full rescue by one team that keeps buildingFree first step · from $490
  • 3Vibe Code Rescue (Lev Arakelyan)9.0/10Best for: A one-off check and a cleanupFrom $299

All 49 Replit companies, ranked

Check these

CODE-01High

The code lives in a Git repository you own

Connect GitHub or export the project. If the builder account is lost, the product should not be.

OPS-01Critical

Database backups run automatically and a restore has been tested

Check what your database plan actually includes, then restore a backup into a test project once.

OPS-04Medium

Secrets live in the host's environment settings

Keys belong in environment variables on the server, not in the repository or in front-end code.

OPS-02High

Testing and real users use separate databases

Experiments and AI agents should never run against production data.

Questions

Will I lose data written during the move?

Anything written after your dump is not in it. Take the old app offline, dump, restore, then switch the domain, in that order.

Are my secrets in the zip?

No, and they should not be. Secret values never leave the project, which is why you copy them by hand and exclude the .cache folder from any zip.

Sources: Replit docs: Manually copy a project to another workspace; Replit docs: Using the Git pane; Replit docs: Projects and files; Replit docs: Secrets.