# How do I move my existing users to Didit?

Source: https://help.didit.me/authentication/import-users-from-another-platform
Updated: 2026-11-12

Import users from another identity platform with their passwords, verified emails and social links, so nobody signs up again. Dry run first, then import.

Open **Authentication → Import users** in a Live application, press **New import**, upload one CSV or JSON file, run a **Dry run**, then press **Start import**. People keep their password, verified email, social links, authenticator apps and your user IDs, and nothing changes for them until your app signs them in with Didit.

![The Import users page in the Didit console, with the New import button and the import history](https://help.didit.me/screenshots/auth-import-users-light.webp)

*Import users: start a new import and follow each one in the import history.*

You can bring people from another identity platform such as Auth0, Clerk or Firebase, from your own database, or from any CSV or JSON export. The **Import users** page appears in Live applications only, and opens with the title **Migration**.

## What an import can keep

| Kept | Notes |
|---|---|
| Password hashes | Switch **Import password hashes** on. Otherwise choose **Need a new password**. |
| Verified emails | **Keep verified emails**: people do not confirm their email again. |
| Social sign-in links | **Keep social sign-in links**: supported provider accounts stay linked. |
| Authenticator apps | **Keep authenticator apps**. |
| Your user IDs | **Keep your user IDs**: the IDs that link your database to these users. |
| Organization roles | People keep their role in their organization. |

Passkeys cannot be imported. A passkey belongs to the domain it was created on, which is your old domain, so people add a new passkey after they sign in.

If a person's password format cannot be kept, that person sets a new password. The page that lists the supported formats is in the [migration docs](https://docs.didit.me/authentication/migration).

## File limits

One import is one CSV or JSON file, up to 25 MB and 100,000 people. People are imported in batches of 1,000, and an interrupted import resumes where it stopped.

The uploaded file is stored encrypted. It is deleted when the import ends, when its dry run fails, or 24 hours after a dry run that was never imported.

## Import your users

1. **Open Import users**

   In your Live application, open **Authentication** and choose **Import users**. You need a role that can change Authentication settings.

2. **Press New import**

   Say where your users are today: another identity platform, your own database or a CSV or JSON export. Upload the file.

3. **Choose what to keep**

   Set the switches described above for passwords, social links, verified emails, authenticator apps and your user IDs.

4. **Run a Dry run**

   Every upload starts with a dry run. It checks every person and writes nothing, then shows how many people keep their password, how many need a reset and how many are skipped. If it fails, it lists the errors: fix the file and upload it again.

5. **Press Start import**

   Confirm to create the people. **Import history** lists every import. Running an import again skips people who are already in.

> **Note:** Existing accounts that people already created themselves in your app with Didit are never changed by an import.

## Nothing changes until you switch

The import only creates people in Didit. Your users notice nothing until your app starts signing them in with Didit. Until then, your current platform keeps working.

## Switching over

1. Import your users.
2. Test with a few accounts, including one with a password and one with a social sign-in.
3. Point your app's sign-in at Didit. See [add sign-in to your app](https://help.didit.me/authentication/add-sign-in-to-your-app).
4. Keep your user IDs, so your database does not change.

If you would rather have an AI coding agent write the export file, the page also offers **Migrate with your AI coding agent**.

## Related

- [Add sign-in to your app](https://help.didit.me/authentication/add-sign-in-to-your-app)
- [See sign-ins and manage users](https://help.didit.me/authentication/users-sessions-and-organizations)
- [Migrate users in the docs](https://docs.didit.me/authentication/migration)
- [Authentication overview in the docs](https://docs.didit.me/authentication/overview)
