The safe, fast way through the risky parts of a Bubble migration.
Raw exports still leave you and your AI rebuilding schemas, relationships, files, users, option sets, privacy rules, and more by hand. unbub.dev automates that work for you.
Schema conversion
Tables, columns, and records converted together.
location
Files & images
List fields, option sets, images, and files included.
profile_picture
Option sets
Attributes preserved and referenced by stable IDs.
project.status
User accounts
Ready for sign-in on the new stack.
bubble user
Privacy Rules
Mapped to fit your new schema, not just copied.
orders policy
Ongoing changes
Bubble stays live the whole way through.
since last sync
+1 columnAI doesn't natively understand Bubble's data model.
Option Sets, list fields, files, users and Privacy Rules all need Bubble-specific handling. Bubble to Supabase takes care of them and checks row counts on every sync, so you know nothing was left behind.
How the migration works.
From your live Bubble app to Supabase, with Bubble running the whole way through.
Connect Bubble and Supabase
Authorize Bubble with read-only MCP access, then connect your Supabase project. Credentials stay encrypted.
Choose what to migrate
Pick the tables, user accounts, files and images, and Privacy Rules to include. Row and file counts come straight from your app.
Migrate your data
Your schema is created in Postgres, records and relationships land in place, users move into Supabase Auth and files into Storage.
Re-sync and cut over
Run incremental syncs while Bubble stays live, check that row counts match, and switch over when you are ready.
Founders and migration partners trust unbub.dev.
“We run a premium listings real estate site with a custom CRM. In 3 weeks, unbub.dev moved our Bubble app to Next.js and Supabase, including the database, agents' user accounts, and images. Our site now has better UX, better technical SEO, and lets us use AI to develop much faster.”
Francisco Gonçalves
Founder & CEO, Madeira Property
“AppSavvy helps companies ship AI products and move from Bubble to code. We use unbub.dev to make the data migration process much more efficient, giving us a repeatable and safer way through the full data layer, one of the most critical parts of the migration projects we do.”
Will Driscoll
Founder & Lead Engineer, AppSavvy
“We run a peer-to-peer car sharing marketplace with 1000+ users on Bubble, and needed reliable analytics fast. unbub.dev moved our data into Postgres and connected it to Metabase with scheduled syncs. It was exactly what we needed, highly recommended.”
Diogo Pita
Co-founder & CEO, Bookycar
Bubble to Supabase migration guides.
How Bubble stores users, files, Option Sets and IDs under the hood, and how each one moves into Supabase.
Frequently asked questions
How do I connect my Bubble app?
Authorize through Bubble MCP for read-only access, with no API key to copy. API key and user-token connections are also available. MCP uses your Bubble account's app permissions; user-token connections follow that app user's Privacy Rules. We read from Bubble and write to your Supabase project.
Can I run the data migration more than once before the final move?
Yes. The migration supports incremental syncs, not just a one-time export. That lets you validate a first pass, keep the target data fresh, rehearse the rollout, and sync again closer to the final move.
Will anything break in my live Bubble app while this runs?
No. The migration reads from Bubble; it does not rewrite your live Bubble app or change anything inside Bubble while it runs. Your current app keeps operating while the new data layer is prepared.
What happens to Bubble users, files, and record relationships?
Users are moved into Supabase Auth and linked back to their data. Files and images are copied into Supabase Storage and their references are rewritten. Record relationships and Option Set values are preserved so the migrated data still behaves like the original app.
Why not just export my Bubble database through CSV or the Data API?
Because extraction is only the first step. CSV export and the Data API can get raw data out of Bubble, but they do not recreate your Postgres schema, convert Bubble field types and values properly, turn Option Sets into real structures, or keep schema and records aligned through incremental syncs.
Can I migrate to Postgres if I don't use Supabase?
Yes. The migration rebuilds your Bubble database in a PostgreSQL-compatible structure, so it also works with other Postgres providers. Supabase is the default target because it also covers user accounts with Auth and files with Storage.
Do I have to rebuild the app at the same time?
No. You can migrate just the data layer while Bubble stays live. When you are ready to rebuild, Bubble to code generates a Next.js and Supabase codebase from your Bubble app.
Can't I just write migration scripts with AI?
For a small app with little data and no real users, maybe. For a production app, AI does not natively understand Bubble internals like Option Sets, list fields, files, user accounts and Privacy Rules, and you still need proof that every row moved. Bubble to Supabase handles those details and checks row counts on every sync.
Can you run the migration for me?
Yes. Our done-for-you service migrates your data layer for you, including schema review, validation and cutover planning. Request a migration plan from the done-for-you page.
Do you offer discounts for agencies or multiple apps?
Yes, we offer volume discounts for agencies and teams with multiple apps. Just reach out.
Try it on your own Bubble app.
Migrate 3 tables for free. Rather have us do it? Done-for-you migration


