Skip to content
  • Get started
  • Switch to Kinde

Migrate to Kinde from Firebase Authentication

Migrate your users from Firebase Authentication to Kinde. The process involves exporting user data from Firebase and importing into Kinde.

  • A Kinde account with Admin access
  • Kinde account configured to match your current auth provider - see before you migrate
  • Firebase account with user export permissions

Key considerations

Link to this section
  • SCRYPT passwords cannot be migrated — Firebase uses the SCRYPT hashing algorithm, which Kinde does not currently support for import. Users will need to sign in via a new method (passwordless or social) or reset their password on first sign-in.
  • Drip-feed is not applicable — because Firebase’s SCRYPT hashes cannot be verified against a standard API, the drip-feed workflow approach is not available for Firebase migrations.
  • Recommended approach — enable at least one passwordless option in Kinde before cutover, so users have a frictionless first sign-in. If password continuity is critical, submit a feature request to prioritize SCRYPT support.

Migration guide

Link to this section

1. Export users from Firebase

Link to this section

Make sure you have the Firebase CLI installed, then run:

Terminal window
firebase auth:export users.json --format=json

This exports user records including email addresses, display names, UIDs, and hashed passwords. For full details, see the Firebase Auth CLI documentation.

2. Map Firebase fields to Kinde’s CSV format

Link to this section

Rename the fields in your Firebase JSON export to match what Kinde expects, then save as a CSV. The only required column is email — everything else is optional but recommended.

Firebase fieldRename toNotes
emailemailRequired — primary sign-in identifier
emailVerifiedemail_verifiedTRUE or FALSE
localIdidKeep as Firebase UID — helps match records on re-import
first name (if available)first_name
last name (if available)last_name
phone number (if available)phone
passwordHashOmit — Firebase uses SCRYPT, which Kinde does not support for import
saltOmit
createdAtOmit
disabledOmit
providerUserInfoOmit

For the full list of supported CSV fields — including organizations, roles, and permissions — see Prepare your CSV in the bulk import guide.

3. Import into Kinde

Link to this section
  1. In Kinde, go to Users, then select Import users.
  2. Select Custom CSV.
  3. Follow the on-screen prompts to upload your file.
  4. Review any errors reported after import. Fix the CSV and re-import to resolve them.

See the bulk import guide to learn more.

4. Test the migration

Link to this section
  1. Sign in to Kinde with a user from your Firebase export.
  2. Verify the user can access your application.
  3. Notify users of any changes to their sign-in experience before going live.

If you need help with your migration, contact Kinde support.