How to export your data from Clerk

Clerk lets admins (or users in their personal workspace) generate and download a CSV export of their application's users, including hashed passwords, directly from the Dashboard. For more granular or programmatic access, you can also pull user data as JSON via the Backend API's GetUserList endpoint.

Formats: CSV, JSON (via Backend API)Plan: Not plan-gated in the docs — available regardless of planRole: Admin, or a user in their personal workspace

✓ Verified against Clerk's official documentation, October 2026

Step by step

  1. 1Log in to the Clerk Dashboard at dashboard.clerk.com.
  2. 2Select the application/instance you want to export, then go to Settings.
  3. 3In the User exports section, click Export users.
  4. 4Wait for the export to run — progress is tracked in real time in the Exports log table, and you'll get a toast notification when it's ready.
  5. 5Click Download next to the finished export entry to download the CSV file (the download link stays visible until the file expires).
  6. 6For data beyond what's in the CSV (e.g. to script a full JSON dump), call the Backend API's GetUserList endpoint or use the getUserList() SDK method instead.

What the export includes

  • ✓List of your application's users
  • ✓Hashed passwords for each user
  • ✓A history log of previous export and download actions (visible in the Dashboard, not in the CSV itself)

What it doesn't include

  • ✗Not documented as part of the CSV export: organizations/memberships, session history, sign-in logs, JWT templates, or webhook configuration — these aren't mentioned in Clerk's export docs, so pull them via the Backend API if you need them
  • ✗You cannot export/migrate users from a Development instance into a Production instance — they are treated as separate user pools

Before you start

  • ⚠Export and download are restricted to admins or users in their own personal workspace
  • ⚠The export runs asynchronously — you request it, then wait for a notification before the CSV is downloadable
  • ⚠The download link for a given export expires after some time, after which you need to trigger a new export
  • ⚠The CSV exposes hashed passwords, so treat the downloaded file as sensitive
  • ⚠The Backend API's GetUserList endpoint (used for programmatic/JSON access) is subject to Clerk's Backend API rate limits
  • ⚠Clerk's own open-source migration tool is built for importing JSON/CSV into Clerk, not for exporting out — the CSV format it accepts happens to match the Dashboard export format

Where to take your data

Free and cheaper tools that can take a Clerk export. See all Clerk alternatives →

Supabase Auth

Use the Supabase Admin API (auth.admin.createUser) or the GoTrue bulk import approach to recreate each user from your Clerk CSV/JSON; you'll need to handle password re-hashing or force a password reset since Supabase uses bcrypt and may not accept Clerk's hash format directly.

Firebase Authentication

Convert your Clerk export into Firebase's bulk-import JSON format and run `firebase auth:import users.json` via the Firebase CLI; Firebase supports importing bcrypt/scrypt password hashes if you supply the matching hash parameters.

Amazon Cognito

Map your Clerk CSV fields to Cognito's user-import CSV template and run a Cognito User Pool import job; Cognito does not accept externally hashed passwords, so migrated users typically need to reset their password on first sign-in.

Exporting from Clerk: common questions

Can I export all my Clerk users at once?+

Yes. From the Dashboard's Settings > User exports section, click Export users to generate a single CSV containing your full user list; you'll be notified when it's ready to download.

Does the Clerk export include passwords?+

It includes hashed passwords, not plaintext passwords. Whether you can reuse them depends on whether your destination platform supports the same hashing algorithm.

Who can trigger a user export in Clerk?+

Only admins, or users operating in their own personal workspace, can trigger and download exports.

Can I get more than just the CSV fields, like organizations or metadata?+

The Dashboard CSV export is focused on the user list and hashed passwords. For other resources (organizations, sessions, metadata, etc.) use Clerk's Backend API directly, e.g. the GetUserList endpoint.

Is there a limit to how often I can export?+

The Dashboard doesn't document a fixed export frequency limit, but each export is a separate async job with its own download link that eventually expires, so you'd trigger a new export each time you need fresh data. Programmatic access via the Backend API is subject to Clerk's standard rate limits.

Can I move users between a Clerk Development and Production instance using this export?+

No. Clerk explicitly does not support migrating users from a Development instance to a Production instance — they're separate user pools.

Sources

This guide was written from Clerk's own documentation and checked against it in October 2026. If a step has changed, the official page wins.