Skip to content
Back to catalog
Firebase

Migrate from Firebase

Move users, Firestore data, and Storage files from Firebase to Appwrite

Firebase is Google's app development platform. Apps built on it typically keep their users in Firebase Authentication, their data in Cloud Firestore, and their files in Cloud Storage for Firebase.

How does the integration work?

Appwrite Migrations reads your Firebase project through a Google Cloud service account and copies its resources into an Appwrite project. You choose which resources to move in the migration wizard, and Appwrite runs the migration in the background.

ResourceMigration
UsersAutomatic
DatabasesAutomatic
RowsPartial: top-level Firestore documents only
FilesAutomatic
FunctionsManual

Some things don't carry over. Appwrite reads Firestore but not the Realtime Database, and nested documents are not migrated automatically. Users who signed in with an OAuth provider need to sign in again after the migration, because their sessions belong to that provider. Cloud Functions must be rewritten as Appwrite Functions because of syntax and runtime differences.

How to implement

To migrate a Firebase project to Appwrite, there are several steps you must complete:

Step 1: Create a service account

Open your project in the Firebase console, click the gear icon to open Project settings, and go to Service accounts. Click Manage service account permissions to open the Google Cloud console, then click Create service account and give it a name.

Grant the service account these roles:

RoleAccess
Firebase ViewerRead access to your entire Firebase project, including its database and Storage.
Identity Toolkit ViewerRead access to your users, including their password hash configuration.

Step 2: Create a JSON key

Find the new service account, open its menu, and click Manage keys. Click Add key > Create new key, choose JSON, and click Create. Your browser downloads the key file. Keep it private, because it grants read access to your Firebase project.

Step 3: Start the migration in Appwrite

For this step, you must create an account on Appwrite Cloud or self-host Appwrite if you haven't already.

Create a new project, open Project settings, and go to the Migrations tab. Click Create migration and select Firebase as the source. Paste the contents of the JSON key file, select the resources to migrate, and click Start migration.

You can also start a migration from a Server SDK with createFirebaseMigration, using an API key with the migrations.write scope.

Step 4: Finish the move

Once the migration completes:

  • Add your web, Flutter, Android, and iOS apps as platforms in your Appwrite project. Appwrite rejects requests from apps it doesn't know.
  • Review the permissions on migrated resources so users can only reach their own data.
  • Rewrite your Cloud Functions on a supported Appwrite Functions runtime.

Read more about Firebase and Appwrite

If you would like to learn more about migrating from Firebase to Appwrite, we have some resources that you should visit:

Technology Partner Program

Building on Appwrite?

Teams and developers who ship integrations, tools, or services on Appwrite can join our partner program for verified catalog placement, co-marketing, training, and engineering support.