Shipmunks

Clerk vs Auth0: Pricing, Setup and Lock-in

Under 25,000 users, Auth0 Free includes one enterprise connection at $0. Past that, Clerk is the plan with a published monthly price.

Clerk vs Auth0 monthly price on November 8, 2026, with no SSO add-on. Clerk Pro is $25 from 1,000 through 50,000 monthly retained users and $1,025 at 100,000. Auth0 B2C Essentials is $70 at 1,000 monthly active users and $700 at 10,000. Auth0 B2B Essentials is $300 at 1,000 and $2,100 at 10,000. Auth0 does not publish a price at 50,000 or 100,000 monthly active users.
On this page
  1. The short answer
  2. Pricing at 1,000, 10,000, 50,000 and 100,000
  3. What we tested
  4. Free tiers
  5. Organizations, SSO and SAML
  6. Setup in Next.js
  7. Lock-in and migrating users
  8. Supabase Auth, Better Auth, and WorkOS
  9. When to pick which
  10. FAQ
  11. Sources
  12. Related

The short answer

Pick Clerk when you need a published price past 25,000 users. On the pages read November 8, 2026, Clerk Hobby is $0 up to 50,000 monthly retained users, and Clerk Pro is $25 a month with that same 50,000 included. Pick Auth0 Free under 25,000 monthly active users, including when you need one enterprise connection, because that plan is $0 and the connection is included. At 50,000 and 100,000 monthly active users Auth0 does not publish a price, while Clerk Pro at 100,000 retained users is $1,025 a month.

Clerk vs Auth0 is the sign-in choice for a SaaS, and the search is usually clerk pricing. People also search clerk auth pricing. It lives on the backend and stack hub. I did not open a Clerk account or an Auth0 account, and I did not install either SDK in a Next.js app. The dollars are the vendor pricing pages on November 8, 2026. Where a page does not publish a figure, the cell says so.

Pricing at 1,000, 10,000, 50,000 and 100,000

The two vendors do not bill the same person.

Clerk bills a monthly retained user. The pricing page says that is a user who visits the app in a given month at least one day after signing up. The same page says a user is not counted unless they sign in again after the first 24 hours, so someone who signs up and never returns is not billed. Call that an MRU. The page says this is not a monthly active user.

Auth0 bills a monthly active user. The control on the pricing page is labeled “How many monthly active users?” and the tooltip says users that authenticate in a given month for a given tenant. Call that an MAU.

A row below uses the same integer on both meters. It does not convert one into the other. If many people sign up and never come back, Clerk’s count is smaller than Auth0’s. I am not guessing that gap.

The assumptions for every dollar in the tables:

  • Monthly billing, one Clerk application, and one Auth0 use case at the matching slider stop.
  • No SMS, no satellite domains, no machine-to-machine token pack, no Auth0 AI Agents add-on, and no Clerk Protect checks past the free 10,000.
  • Dashboard seats stay inside the included count. Clerk Hobby and Pro include up to 3.
  • Organizations and extra SSO connections are not in the first table. They are the second table.
  • Auth0 prices are the plan cards after the control was set to that stop. The stops are 500, 1,000, 2,500, 5,000, 7,500, 10,000, 20,000, and 30,000+. There is no 50,000 stop and no 100,000 stop.

What we tested

Checked

Clerk’s figures are the pricing page, including the markdown version linked from that page. Auth0’s figures are the plan cards on auth0.com/pricing with the use case set to B2C or B2B and billing set to Monthly, then again with billing set to Yearly. These are readings, not an invoice.

Clerk Pro at 100,000 retained users, monthly, with no add-on: the base is $25. The included amount is 50,000. 100,000 minus 50,000 is 50,000. The volume table prices the band from 50,001 to 100,000 at $0.02 each. 50,000 times 0.02 is 1,000. $25 plus $1,000 is $1,025. The next band, $0.018, starts at 100,001, so the 100,000th user is still $0.02. At exactly 50,000 retained users the overage is zero, so Pro is $25. Hobby’s limit is 50,000, and the page says you must upgrade once you exceed it, so the 50,000 row still fits on Hobby and the 100,000 row does not.

On every Auth0 stop that showed a paid dollar, the yearly price was 11 times the monthly price. The yearly cards say “1 month free.” B2C Essentials at 1,000 was $70 a month and $770 a year. 70 times 11 is 770. B2B Essentials at 10,000 was $2,100 a month and $23,100 a year. 2,100 times 11 is 23,100. I am not applying that multiple to a stop that showed no dollar.

The B2C Essentials stops I read were the stop times $0.07: 500 is $35, 1,000 is $70, 10,000 is $700, 20,000 is $1,400, and 30,000 is $2,100. The page does not print “$0.07.” It prints the dollar at the stop. 50,000 times 0.07 is $3,500, and that number is not on the page, so it is not in the table.

Monthly price with no paid add-on, read November 8, 2026. Clerk’s count is retained users. Auth0’s count is monthly active users. Same integer, different meter.
CountClerk HobbyClerk ProAuth0 FreeAuth0 B2C EssentialsAuth0 B2C ProfessionalAuth0 B2B EssentialsAuth0 B2B Professional
1,000$0$25$0$70$240$300$800
10,000$0$25$0$700$1,600$2,100$2,400
50,000$0$25Does not fit. The cap is 25,000Not publishedNot publishedNot publishedNot published
100,000Does not fit. The cap is 50,000$1,025Does not fit. The cap is 25,000Not publishedNot publishedNot publishedNot published

The 500 stop, which is where the cards open, is not a row. B2C Essentials there is $35 and B2C Professional is $240. B2B Essentials is $150 and B2B Professional is $800. The “from $35” and “from $240” lines are that 500 stop, not the 1,000 row.

At the 30,000+ stop, B2C Essentials still showed $2,100 and the card said up to 30,000 monthly active users. B2C Professional showed no dollar. B2B Essentials and B2B Professional replaced the price with “Get in touch.” At the 20,000 stop, B2B Professional already showed no dollar, and B2B Essentials was $3,800. I am not stretching $2,100 or $3,800 out to 50,000.

Clerk’s pricing page also lists Pro at $20 a month when billed annually, and Business at $300 a month or $250 a month billed annually. The $0.02 rate is stated as a monthly amount. I am not discounting the $1,000 of overage down to an annual price the volume table does not print. Business is the same included 50,000 retained users and the same volume rates, plus a higher base. It is not a cheaper way to buy the 100,000 row.

  • $0

    Clerk Hobby through 50,000 retained users

  • $1,025

    Clerk Pro at 100,000 retained users

  • $700

    Auth0 B2C Essentials at 10,000 MAU

  • No price

    Auth0 at 50,000 and 100,000 MAU

Clerk vs Auth0 monthly price on November 8, 2026, with no SSO add-on. Clerk Pro is $25 from 1,000 through 50,000 monthly retained users and $1,025 at 100,000. Auth0 B2C Essentials is $70 at 1,000 monthly active users and $700 at 10,000. Auth0 B2B Essentials is $300 at 1,000 and $2,100 at 10,000. Auth0 does not publish a price at 50,000 or 100,000 monthly active users.
Bar length uses $2,100 as full width. Free plans are $0 when the count fits, and they are not bars. Auth0 at 50,000 and 100,000 has no bar because the page has no figure.

Free tiers

Is Clerk authentication free? On Hobby, yes, until the cap. Hobby is $0, no credit card, up to 50,000 monthly retained users per app, unlimited applications, and up to 3 dashboard seats. The feature table includes passwords, email codes, email links, usernames, and up to 3 social connections. It does not include enterprise SSO, MFA, passkeys, or removing the “Secured by Clerk” branding. The session lifetime is fixed at 7 days. Custom domain is included. SMS authentication is not on Hobby. On Pro, SMS is $0.01 per message in the US and Canada, and the page says international SMS is the market rate. That meter is not in the table above.

Pass the cap and the page does not bill the extra users on Hobby. It says you upgrade to Pro. Exceed 100 monthly retained organizations without the B2B Authentication add-on and you upgrade to that add-on. Either way there is a one-month grace period so the app keeps running.

Auth0 Free is $0 for B2C and for B2B, up to 25,000 monthly active users, and the card says no credit card is needed to sign up. The card includes passwordless authentication, unlimited social connections subject to system limitations, 5 organizations, basic attack protection, community support, 1 enterprise connection, self-service SSO, and SCIM. A custom domain is included, and the footnote says credit card verification is required for custom domains. One tenant. The bulk user export docs say that export is not available on the Free plan. The profile export and the password-hash export are different jobs, and both are closed on Free. That is in the lock-in section.

At 1,000 and at 10,000, both free plans are $0 if you can live inside those feature lists. The difference is the connection and the social cap. Auth0 Free includes one enterprise connection. Clerk Hobby does not include SSO at all. Clerk Hobby stops at 3 social connections. Auth0’s card says unlimited, with the system-limitations footnote.

Organizations, SSO and SAML

This is the B2B cliff. The first table left it out on purpose.

Clerk’s basic organizations are included on every plan, Hobby included. The add-on section says 100 monthly retained organizations per app, up to 20 members each, Admin and Member roles, custom permissions, and invitations. A monthly retained organization has at least 2 members, and at least one of those members is a monthly retained user that month. The enhanced B2B Authentication add-on is $100 a month, or $85 a month billed annually. It keeps the 100 included organizations, then charges $1 a month each from 101 to 1,000. It lifts the 20 member cap, and it is what links enterprise connections to organizations. A separate Administration add-on is also $100 a month, for unlimited impersonations. That one is not in the arithmetic below.

SSO on Clerk means enterprise connections: SAML, OIDC, or EASIE. The feature table says no on Hobby. Pro and Business include 1 connection per app. The volume table prices connections 2 to 15 at $75 a month each, then $60 from 16 to 100. Directory Sync is a second counter, SCIM or Google Workspace, one included on paid plans. The page says billing for additional Directory Sync connections starts January 1, 2027. This comparison does not add that future meter.

Auth0’s B2C Essentials card lists 10 organizations and then says to upgrade to B2B to keep using enterprise connections, self-service SSO, and SCIM. B2C Professional’s plan features list 10 organizations as well. The B2B Essentials card says unlimited organizations, subject to system limitations, and 3 SSO enterprise connections. B2B Professional’s feature row is 5 enterprise connections, then an add-on. Free is 5 organizations and 1 enterprise connection, and that 1 connection is on the Free card, not only on a paid plan.

The add-on tooltip on B2B Essentials and on B2B Professional says Enterprise SSO Connections start at $100 a month per active connection, or $1,100 a year. “Starting at” is the word on the tooltip. I am not treating every extra connection as a flat $100 invoice beyond that sentence.

Organizations and one enterprise connection, read November 8, 2026. User overage from the first table is included only on the Clerk 100,000 row. Auth0 has no published base at 50,000 or 100,000, so those rows do not grow an add-on into a total.
What you addClerk, monthlyAuth0, monthly
Organizations inside the free allowance$0. 100 retained organizations, 20 members, on Hobby and up$0 on Free, which includes 5. B2C Essentials lists 10 on the card. B2B Essentials says unlimited, subject to system limitations, and the plan itself is not free
The organizations add-onEnhanced B2B Authentication, $100. Then $1 each from organization 101No separate organizations add-on on the cards. B2B is the organizations plan
First enterprise connectionNot on Hobby. Included on Pro, so the Pro base is $25 through 50,000 retained usersIncluded on Free, 1 connection, through 25,000 MAU. B2B Essentials includes 3. B2B Professional includes 5
Pro or B2B Essentials, plus that first connection, at 1,000, 10,000, and 50,000$25 at each of those counts. 50,000 still fits in the included retained users$0 on Free at 1,000 and 10,000. B2B Essentials is $300 at 1,000 and $2,100 at 10,000, and both include the 3 connections. 50,000 is not published
Same, plus Clerk’s $100 B2B add-on so the connection can be linked to an organization$125 through 50,000 retained users. $25 plus $100. At 100,000 retained users, $1,025 plus $100 is $1,125No matching $100 organizations line. The B2B Essentials prices above already include organizations and 3 connections. 50,000 and 100,000 are not published
One connection past the included count$75. That is connection 2 on Pro. Add it to the $125 and the total is $200 through 50,000 retained users, or $1,200 at 100,000The tooltip says starting at $100 a month per active connection, after the included 3 on B2B Essentials or the included 5 on B2B Professional

The $125 and the $200 are sums of published lines, under the assumptions above, with organizations still inside the included 100. They are not a quote from a Clerk invoice. Auth0’s $300 and $2,100 already include the 3 connections, so I am not adding the $100 tooltip on top of them for the first connection.

Setup in Next.js

I did not create an app, and I did not click through a sign-in. This is the official quickstart on each site, read November 8, 2026.

Clerk’s Next.js quickstart says the setup command is npx clerk@latest init. The page says that command detects the framework, writes NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY and CLERK_SECRET_KEY to .env.local, and configures the SDK, the provider, the middleware, and the auth routes. The manual fallback, only if init has already failed, is to install @clerk/nextjs, call clerkMiddleware() from @clerk/nextjs/server, and wrap the app in ClerkProvider. The page says the middleware file is proxy.ts on Next.js 16 and newer, and middleware.ts on Next.js 15 and older, with the same contents. It also says auth() is async, so you await it, and the secret key stays off the client.

Auth0’s Next.js quickstart is for the v4 SDK, on Next.js 16, and it asks for Node.js 20 LTS or newer. The steps are npm install @auth0/nextjs-auth0, an Auth0Client in src/lib/auth0.ts, and a src/proxy.ts whose proxy function returns auth0.middleware(request). The page says that proxy mounts /auth/login, /auth/logout, /auth/callback, /auth/profile, /auth/access-token, and /auth/backchannel-logout. It says v4 uses /auth/*, not /api/auth/* from v3. The env file it shows is AUTH0_DOMAIN, AUTH0_CLIENT_ID, AUTH0_CLIENT_SECRET, AUTH0_SECRET, and APP_BASE_URL. The callback URL in the example is http://localhost:3000/auth/callback. The page says Auth0Provider is optional in v4, and you only need it to pass an initial user into useUser().

Where that Next.js app is hosted, and what the free tier does to a commercial site, is Vercel vs Netlify. This page did not deploy the auth quickstarts to either host.

Lock-in and migrating users

Leaving is a data question. The session cookie will die either way. The password hash is the part people get stuck on.

Clerk’s migration guide describes two directions. Coming in, you export from the old system and create users with the Backend API, passing a password_hasher value. The page says that in some cases Clerk upgrades those hashes to bcrypt. It also says you cannot migrate users from a Clerk Development instance to a Clerk Production instance. Going out, an admin, or a user in their personal workspace, exports a CSV from the dashboard, and the page says that file includes hashed passwords. The feature table lists full data exports as included on Hobby, Pro, and Business. The same guide says Clerk charges retained users, not the size of the user table, which matters if you run two systems during a slow move. I did not export a file.

Auth0’s bulk user export produces JSON or CSV of profile fields, and the page says this feature is not available on the Free plan. The export-data page says the password hashes of Auth0-hosted database users are not available through the API. You request them by opening a support ticket. The same paragraph says that operation is not available on the Free subscription tier, and that Auth0 cannot accept or guarantee a request for a specific time and date. The password-hash page is that support case: a PGP key, an eligibility review, and no promised date. If the passwords live in your own database, behind a custom database connection, the export-data page says Auth0 does not store the hashes unless you progressively migrate users onto Auth0.

So the free-tier exit is not the same. Clerk’s pages say a Hobby workspace can download the users, hashes included. Auth0’s pages say a Free tenant cannot bulk-export users, and cannot get the hashes through support either. I did not submit a ticket, and I did not download a CSV.

Supabase Auth, Better Auth, and WorkOS

Clerk vs Supabase Auth is a different product shape. Supabase Auth sits inside the Supabase project. The MAU guide, read November 8, 2026, counts a distinct user who signs in or refreshes a token during the billing cycle, once, social sign-in included. Free includes 50,000. Pro includes 100,000, then $0.00325 each. That $0.00325 is the auth line. The Pro plan fee is the database bill next to it. The worked totals at 1,000, 10,000, and 50,000 users, database included, are in Supabase vs Firebase. This page does not reprice Firebase. That post is where Firebase Authentication sits next to the database, which is the clerk vs auth0 vs firebase question in practice: Firebase’s email and social sign-in are on that bill, and Clerk and Auth0 are this one.

Clerk vs Auth0 vs Supabase, for a solo founder who wants the users in Postgres: Supabase Auth on the Free quota covers 50,000 of its own MAU at $0, and the users are rows you can dump. Clerk Hobby covers 50,000 retained users at $0 and documents a dashboard export that includes password hashes. Auth0 Free stops at 25,000 MAU and documents no self-serve hash export. None of those three sentences is a feature-by-feature score. They are the meters and the exit.

Better Auth is a TypeScript library. The introduction, read November 8, 2026, says the auth lives in your codebase, with plugins for things like two-factor, passkeys, and SSO. The page does not list a monthly price or a per-user rate. You run it in the app, on a database you already have. I am not turning “no price on the introduction” into a $0 hosting bill. The host and the database are separate invoices. If that database is Convex, Convex checks an OpenID token and names Clerk, Auth0, and others as providers. The database side of that choice is Convex vs Supabase. The token’s price, if the provider is Clerk or Auth0, is the tables above.

WorkOS vs Auth0 is the other FAQ. The WorkOS pricing page, read the same day, includes the first 1 million AuthKit monthly active users at no charge, then $2,500 a month for each additional 1 million. AuthKit’s list on that page includes email and password, social login, passkeys, MFA, magic auth, and enterprise SSO from one integration. The SSO table lists $125 each for connections 1 to 15. That cell does not say “per month,” while the audit-log line on the same page does say $125 a month, so I am not adding a period the SSO cell does not print. At 10,000 MAU and no paid connection, WorkOS AuthKit is inside the free million, and Auth0 Free is $0 through 25,000. At 10,000 MAU and one enterprise connection, Auth0 Free still includes that one connection at $0. WorkOS lists $125 for the connection. At 100,000 MAU, WorkOS users are still inside the free million, and Auth0 does not publish a user price, so there is no Auth0 total to subtract.

When to pick which

  • Email, a few social logins, under 10,000 users, no SAML: either free plan is $0. Clerk Hobby if you may pass 25,000 and want the next price written down. Auth0 Free if you want more than 3 social connections.
  • One SAML connection under 25,000 MAU: Auth0 Free includes it. Clerk’s first connection requires Pro, at $25 a month.
  • Between 25,000 and 50,000 users, no SSO: Clerk Hobby is still $0 if those users are retained users. Auth0 Free does not fit, and Auth0 does not publish a 50,000 price.
  • 100,000 retained users, no add-on: Clerk Pro is $1,025 a month on the arithmetic above. Auth0’s control has no price at that count.
  • Organizations, no SSO, under 100 of them, 20 members each: Clerk includes that on Hobby. Auth0 Free includes 5 organizations. Auth0’s unlimited organizations line is the B2B plan, $300 a month at the 1,000 MAU stop.
  • SSO that has to belong to an organization: Clerk Pro at $25 plus the $100 B2B add-on, $125 through 50,000 retained users, with the first connection included. Auth0 B2B Essentials is $300 at 1,000 MAU and $2,100 at 10,000, with 3 connections included. Past the last priced Auth0 stop, the card says to get in touch.
  • You may leave from the free tier, and the passwords have to come with you: Clerk’s pages say the dashboard export includes hashed passwords, on Hobby. Auth0’s pages say the Free tier cannot bulk-export users and cannot get hashes through support.
  • The users should live in your own Postgres, and auth is not a separate vendor: Supabase Auth, priced with the database in the other post, or Better Auth in the app. This page did not run either one.
Supabase vs Firebase at three sizes The database bill next to Supabase Auth, at 1,000, 10,000, and 50,000 users. Firebase Authentication is on that page. Blog Convex vs Supabase, including auth Convex checks an OpenID token. Clerk and Auth0 are named providers. This page prices the token, not the database. Blog Vercel vs Netlify for the Next.js app Where the app that runs these auth quickstarts is hosted, and which free tier allows a commercial site. Blog

FAQ

Is Clerk cheaper than Auth0?

It depends on the count and on whether you need SAML. On the pages read November 8, 2026, both free plans are $0 at 1,000 and at 10,000 users, on each vendor’s own meter. Auth0 Free includes one enterprise connection. Clerk’s first SSO connection is not on Hobby. It is included on Pro, which is $25 a month. At 100,000 retained users, Clerk Pro is $1,025 a month before add-ons. Auth0 does not publish a price at 50,000 or 100,000 monthly active users. The pricing control stops at 30,000+.

Is Clerk authentication free?

Yes, inside Hobby. The pricing page read November 8, 2026 lists Hobby at $0 with a limit of 50,000 monthly retained users per app, up to 3 social connections, and no enterprise SSO. Pass 50,000 retained users, or 100 monthly retained organizations without the B2B add-on, and the page says you get a one-month grace period and then you have to upgrade. MFA, passkeys, and removing the Clerk branding are Pro features, not Hobby.

How much does Clerk cost?

Hobby is $0 up to 50,000 monthly retained users per app. Pro is $25 a month, or $20 a month billed annually, with 50,000 retained users included, then $0.02 each through 100,000. At 100,000 retained users the monthly arithmetic is $25 plus $1,000, which is $1,025. The enhanced B2B Authentication add-on is $100 a month. A second enterprise SSO connection is $75 a month. Business is $300 a month. Enterprise says custom. SMS is extra, at $0.01 per message in the US and Canada.

Clerk vs Supabase Auth?

Supabase Auth is part of the Supabase project, not a separate auth vendor. The MAU guide, read November 8, 2026, includes 50,000 monthly active users on Free and 100,000 on Pro, then $0.00325 each. Pro’s plan fee is a database bill as well. That worked bill is Supabase vs Firebase. Clerk is the auth product alone. Clerk Hobby is $0 up to 50,000 retained users, which is a different meter from Supabase’s monthly active user.

WorkOS vs Auth0?

They publish different meters. WorkOS, read November 8, 2026, includes the first 1 million AuthKit monthly active users at no charge, then $2,500 a month for each additional 1 million. Its SSO table lists $125 each for connections 1 to 15, and that cell does not say per month. Auth0 Free is $0 up to 25,000 monthly active users and includes one enterprise connection. At 1,000 monthly active users, Auth0 B2B Essentials is $300 a month and includes 3 SSO connections. At 100,000 monthly active users, Auth0 does not publish a price.

Can you migrate from Auth0 to Clerk?

Clerk’s migration guide describes an export from the old system and a CreateUser import, and you pass a password_hasher value. It also says you cannot migrate users from a Clerk Development instance to a Clerk Production instance. Auth0’s bulk user export is not available on the Free plan. Auth0’s export-data page says password hashes for Auth0-hosted database users are not available through the API. You request them in a support case, and that operation is not available on the Free subscription tier. I did not run a migration.

Sources

  1. Clerk pricing Checked
  2. Migrating (Clerk) Checked
  3. Add Clerk Authentication to Next.js Checked
  4. Auth0 pricing Checked
  5. Add Login to Your Next.js Application (Auth0) Checked
  6. Bulk Export User Data (Auth0) Checked
  7. Export Data (Auth0) Checked
  8. Export Password Hashes and MFA Secrets (Auth0) Checked
  9. Manage Monthly Active Users usage (Supabase) Checked
  10. Introduction (Better Auth) Checked
  11. WorkOS pricing Checked