Free Lovable Cloud to Supabase Exporter
Lovable is great for building. As your app takes off and you want more control and ownership of your data, you'll need to migrate to your own Supabase.
This free, open-source tool moves everything for you: database tables, user accounts, and storage files.
Lovable's official migration guide requires you to:
- Send a password reset email to every user.
- Export and re-import tables manually, one CSV at a time, in the right dependency order.
- Download and re-upload storage files individually.
With real users, that's a dealbreaker. This tool handles the full migration automatically. No password resets, no manual work.
What you'll need
- Your Lovable project open in another tab
- A new Supabase project for the transfer
- ~10-15 minutes
Not sure where to build and host? Check out your options.
Step 1: Add the migrate helper edge function
First, create a small, temporary endpoint to export your Lovable Cloud data. We'll remove this endpoint after the export.
Create an edge function
In your Lovable project, tell Lovable:
Create an empty edge function called migrate-helper
Refresh the page to reload the latest code
Sometimes Lovable won't show the new edge function until you refresh the page.
Copy and paste the helper function code
First, enter an access key below. Then copy and paste the generated edge function code into Cloud > Edge Functions > migrate-helper > View code, then hit Save in the upper right.
Protects the temporary edge function so only you can trigger the export. Not stored on Dreamlit servers.
Enter an access key above to get the helper code.
This code creates a secure, read-only endpoint on your Lovable Cloud project. The exporter will use it to fetch your database schema, tables, auth users, and storage files for the migration.
Deploy the edge function
Tell Lovable:
Deploy the edge function migrate-helper.
Enter your edge function URL
Get this from Cloud > Edge Functions > migrate-helper > Copy URL.
Test this URL before export. The check uses your access key but does not return credentials.
Step 2: Choose how to export
Connect your Supabase project below to transfer directly.
Paste your Supabase connection string
In your Supabase dashboard, click Connect in the top bar. Then, under Connection String, copy andn paste the Direct connection.
Paste the secret API key
Go to Project Settings > API Keys > Publishable and secret API Keys >. Click "+ New secret key" to create a temporary secret key, then paste it here.
Step 3: Run the export
Transfer directly into your Supabase project.
Need help? .
Step 4: Transfer configs
Choose where you'll keep building next. The config checklist below changes based on that path.
What's next?
Pick how you'll keep building. The right answer depends on how much you want to own.
Connect your new Supabase project to a fresh Lovable app and keep the same building flow you're used to.
- In Lovable, create a new app and link it to your migrated Supabase project.
- Re-add any API keys, OAuth providers, or third-party secrets in Lovable's settings.
- You keep Lovable's UI builder and AI assist — only the database, auth, and storage move to your control.
Keep building in Lovable config checklist
These are the handoff tasks for the path you picked above.
Migrate env vars
Copy any app secrets from Lovable Cloud into Supabase Edge Functions > Secrets, and keep client-safe public values separate from server-only secrets.
Reconfigure auth settings
Recreate any enabled auth provider settings in your new Supabase project so existing login methods keep working against the migrated backend.
Move over any auth email templates
Copy your old auth email templates into Supabase Auth, or route auth emails through Dreamlit if you want one place to manage them.
Connect the new Supabase project in Lovable
In Lovable, create or open the app you want to keep building in and connect it to your migrated Supabase project.
Re-add Lovable-side secrets
Add only the third-party secrets your Lovable app still needs in Lovable Cloud > Secrets. Keep Supabase database, auth, and storage owned in Supabase.
Set up the emails that keep users active (optional)
“Welcome them on signup. Remind them 3 days before their trial ends. Win them back if they go quiet for a week.” Describe it in plain English and Dreamlit builds the entire workflow end-to-end. Preview with live data from your Supabase database, then publish when you're ready.
Step 5: Cleanups
After the export completes, check off each item as you clean up the temporary access you created for the migration.
Remove the migrate-helper function
Tell Lovable to remove the temporary edge function you created for the export.
Remove the edge function "migrate-helper".
Delete the temporary Supabase secret API key
Open Project Settings > API Keys > Publishable Secret Keys and delete the key you pasted into Step 2.
Reset the Supabase database password (optional)
In Supabase database settings, reset the postgres password you used in the connection string.
Frequently asked questions
Lovable has documentation for moving to your own Supabase, but the process is rough:
- Every user needs to reset their password. If you have real users, that's a non-starter.
- You're exporting and importing table data via CSV, one table at a time, in the right dependency order.
- Storage files need to be downloaded and re-uploaded individually.
- Miss a step or get the order wrong, and you're starting over.
This tool handles all of it. Tables, users, and storage move to your Supabase backend without password resets or manual work.
Use this free, open-source exporter. Deploy a temporary edge function to your Lovable Cloud project, point it at an empty Supabase project, and the exporter copies your tables, users, and storage files in a single pass. Small projects often finish in a few minutes; larger databases or storage-heavy projects take longer.
No. The exporter migrates user accounts with their password hashes intact, so existing users do not need to reset their passwords or re-verify their email addresses.
They may need to log in again after you cut over to the new Supabase project. The important part is that password hashes and auth records are preserved, so users can keep using their existing credentials without a forced password reset or email re-verification.
It moves your database tables, user accounts (with passwords intact), and storage files into your own Supabase project. Row-level security policies on tables come across automatically.
Yes. The exporter is non-destructive — it reads from Lovable Cloud and writes into a new Supabase project, so your original data stays intact until you choose to retire it. You can keep both running side by side while you cut over.
Lovable Cloud is a managed backend that Lovable provisions for you — convenient for prototyping but billed per usage and tied to Lovable. Connecting your own Supabase project means you own the database, storage, and secrets directly, which can lower ongoing cost and lets you connect external tools like Dreamlit, Claude Code, or Cursor.
Small projects often finish in a few minutes. Time scales with the size of your database and storage, so large databases or media-heavy projects can take much longer. If storage copy fails after the database clone succeeds, you can retry storage without rerunning the database clone.
Storage files are copied bucket-by-bucket into your new Supabase project, and public/private bucket configuration carries over. Row-level security policies on database tables come across automatically. Bucket-level policies configured in the Lovable Cloud UI need to be re-applied in Supabase Studio after the migration.
Yes. The tool is open source and ships with both a CLI and a self-hosted web UI. When you run it locally, your Lovable Cloud and Supabase credentials stay on your machine, and migration data only passes through your local runtime.
You have three: stay on Lovable Cloud and optimize (cache more, reduce AI message usage); move only the backend to your own Supabase project (this tool handles the data move while you keep building in Lovable); or leave Lovable entirely for a tool like Claude Code or Cursor. The exporter is the fastest path to either of the last two without losing users or data.
Yes. Once your data is in your own Supabase project, you can connect that project to a new Lovable app and keep building on top of infrastructure you control.
Lovable Cloud is great for prototyping, but you may outgrow it as costs rise or as you need direct ownership of your database, storage, and secrets. Moving to your own Supabase also makes it easier to connect external services like Dreamlit or your own tooling, without being tied to a single platform. You can still keep building in Lovable if you want.
- API keys, secrets, or third-party service credentials.
- Login provider settings like OAuth config or redirect URLs.
- App deployment, DNS, hosting, or the broader app setup.
Dreamlit lets you add professional, branded emails to your app built on Supabase. Connect your database, describe what you want in plain English, and the Workflow Agent builds the entire workflow for you: triggers, templates, and delivery.
You'll need to remove the Custom Email implementation from your Lovable Cloud project and replace it with another email solution (such as Dreamlit or Resend). There's currently no documented way to use Lovable Custom Email on your own infrastructure.
You'll deploy a temporary edge function to your Lovable Cloud project. The exporter uses it to read your tables, users, and storage files, then writes everything into your own Supabase project. Once it's done, you can remove the edge function.
Completely free, no strings attached. Many of our customers at Dreamlit were stuck on Lovable Cloud and wanted to use Dreamlit but couldn't because they didn't have direct access to their database. We started helping them one by one and decided to turn it into a tool so anyone can take control of their data.
The current flow is built around Lovable Cloud, but let us know which other platforms you want next. Hit us up on X or on r/dreamlitai.
Fully open source under the MIT license. You can inspect the code, run the CLI yourself, or self-host the entire tool from GitHub.
Hosted transfer jobs are processed transiently by Dreamlit's exporter runtime, and migration data is not kept after the job. You can always self host the tool or run the commands yourself if you do not want credentials or data to pass through Dreamlit infrastructure.
We're here to help. Use the chat widget in the bottom right to reach us directly, or send an email to [email protected]. We'll help you through it.