Picking a free auth provider in 2026 is harder than it should be

I spent time comparing ten auth and identity providers that still offer a meaningful free tier: Clerk, Auth0, Supabase Auth, Firebase, WorkOS, Kinde, Better Auth, Keycloak, Logto, and SuperTokens. There is no single winner on every axis.

WorkOS AuthKit has the biggest headline number here: the first million active users are free, with social auth and MFA included. That is hard to beat if you only look at the free-tier line item. But WorkOS is still a managed SaaS, enterprise SSO and Directory Sync are priced per connection, and the public AuthKit docs I read do not spell out EU data residency the way Auth0, Supabase, or Logto do.

For a typical indie SaaS shipping today, my pick is Supabase Auth. Not because it has the largest free tier, but because the overall package is unusually balanced: 50,000 MAU free, $0.00325 per MAU after that on paid plans, native social login, selectable project regions, a public DPA, and a real exit path through open-source GoTrue. That recommendation fits best if you are already on Postgres or willing to adopt Supabase as a platform, not if you need auth bolted onto an unrelated stack.

SuperTokens managed cloud only covers 5,000 MAU free. The generous comparison for SuperTokens assumes self-hosting the OSS core.

If you are React/Next.js-first and want the fastest polished integration, Clerk is still hard to beat on day-one DX. If you need classic enterprise IAM depth, Auth0 is the most battle-tested managed option in this set. If you refuse to let a SaaS vendor own your auth control plane, look at Better Auth, Keycloak, SuperTokens, or Logto OSS.

You cannot compare these on MAU alone

Before the tables, one warning: vendors do not meter the same thing.

Clerk bills on MRU (monthly retained users), not MAU. Logto charges on token usage in addition to MAU. Supabase splits MAU, third-party MAU, and SSO MAU into separate line items. Firebase Identity Platform distinguishes Tier 1 providers (email, phone, social) from Tier 2 (OIDC/SAML).

A perfect apples-to-apples price table is impossible. Treat the numbers below as directional, then read the billing footnotes for your actual login mix.

Pricing, compliance, and exit paths

ProviderFree tier and overageSocial loginEU / GDPRSelf-host escape hatch
Clerk50,000 MRU per app on Hobby; Pro overage from $0.02/MRU at 50K-100K, lower at higher bands per pricingIncluded; no per-login fee publishedDPA and DPF support; GDPR notice discusses US transfers; no public EU region selector foundManaged only; migration tooling, Firebase and Auth.js guides, webhook sync to your DB
Auth025,000 MAU free; Essentials $35/mo and Professional $240/mo start at 500 MAU per pricing; self-serve overage ladder not fully on-pageUnlimited social connections on free tierEU/UK regions, Frankfurt tenancy with Dublin failoverManaged SaaS; standards/export-led exit, no self-host path
Supabase Auth50,000 MAU free; Pro/Team include 100,000 MAU, then $0.00325/MAU; third-party MAU also $0.00325 per pricing; SSO MAU $0.015 after 50 included; phone MFA add-on $75/moApple, Azure, Discord, Facebook, Figma, GitHub, GitLab, Google, Kakao, LinkedIn, Notion, Slack, Spotify, Twitter, Twitch, WorkOS, Zoom, custom OAuth/OIDC; billed through MAUProject region selection, DPA, trust centerGoTrue OSS; OAuth, MFA, SAML documented for self-host
FirebaseTier 1: 0-50K free, then $0.0055, $0.0046, $0.0032, $0.0025/MAU; Tier 2 OIDC/SAML: 50 free, then $0.015/MAU per pricingGoogle, Apple, Facebook, Twitter, GitHub, Microsoft, Yahoo, OIDC, SAMLPrivacy page: auth runs only from US data centersNo self-hosted Firebase Auth equivalent
WorkOSAuthKit: first 1M active users free, then $2,500/mo per additional 1M per pricing; SSO/Directory Sync from $125/connectionIncluded in AuthKit; SSO priced per connectionDPA; AuthKit EU region matrix not clearly publishedNo self-host; on-prem needs WorkOS cloud; air-gapped unsupported; Cognito and Stytch migration guides
Kinde10,500 MAU free; Pro $0.0175, Plus $0.0163, Scale $0.0151/MAU per pricing; MAU free if you use Kinde BillingEmail, SMS, social included on free tierEU data region selectable at signup per docsManaged only; export docs with passwords, bulk import, Auth0 migration guidance
Better AuthCore framework free OSS; Infrastructure Starter $0/mo: 1 seat, 10K audit logs/mo, 1K security detections/mo per pricingBuilt-in social providers; no vendor per-login fee when self-hostedDepends entirely on where you deployAuth lives in your app and DB; migration guides from Clerk, Auth0, Supabase
KeycloakOSS, self-hosted, no vendor MAU feeSocial login and identity brokering built inYou choose the regionLowest lock-in; HA, K8s operator, admin REST API
Logto50,000 MAU and 50K tokens free; Pro $24/mo, then $0.08 per extra 100 tokens per pricing; SSO $48/connector, MFA $48 add-on3 social connectors on free; token metering can dominate costEurope (Netherlands) region selectionLogto OSS self-hostable; Management API migration
SuperTokensManaged: free under 5,000 MAU, then $0.02/MAU per pricing; OSS self-host unlimitedCore recipe model; no per-login fee publishedSelf-host wherever you want; managed cloud regions unclear in public docsOSS self-host; Auth0/Clerk migration playbooks

DX, security, and lock-in

ProviderFit and lock-in
ClerkBest React/Next.js DX; framework-specific SDKs; backend SDKs for C#, Go, Java, PHP, Python, JavaScript; device session monitoring; Hobby caps sessions at 7 days. Lock-in: medium-high.
Auth045+ SDKs, 35+ quickstarts, 12 languages; passkeys, passwordless, attack protection; claims 10B+ auths/month and 99.99% uptime. Lock-in: high.
Supabase AuthBest if you are already on Postgres and RLS; SAML, TOTP, phone MFA, identity linking, SSR cookies, rate limits documented. Lock-in: medium-low (GoTrue is OSS).
FirebaseStrongest mobile breadth (iOS, Android, Web, C++, Unity, Flutter); MFA, TOTP, provider linking. Lock-in: very high; US-only auth processing.
WorkOSEnterprise API; Node, Ruby, Python, Go, PHP, Laravel, Java, .NET; JWT templates, session helpers, Magic Auth, passkeys, SSO. Lock-in: medium-high.
KindeAuth plus billing; free tier includes orgs, custom domain, workflows/actions, customizable sessions; passkeys “coming soon”. Lock-in: medium-high, mitigated by export tooling.
Better AuthAuth as application code; Request/Response backends; React/Vue/Svelte, Next.js/Expo; plugin 2FA, SSO, orgs, SCIM. Lock-in: low.
KeycloakClassic IAM (OIDC, OAuth2, SAML, brokering, passkeys, auth SPIs, admin APIs); heavy ops burden. Lock-in: very low.
LogtoPasskeys, passwordless, orgs, Secret Vault, session revocation, quickstarts across frameworks; some cloud features are paid add-ons. Lock-in: medium-low.
SuperTokensNode, Python, Go backends; passkeys in Node/Python; session-centric recipes; Poppy customer case. Lock-in: low-medium.

What the free tiers actually cost you later

WorkOS: huge free headroom, enterprise priced separately

WorkOS AuthKit giving you a million users free is the standout number in this comparison. If your only goal is maximizing managed free headroom, start here.

The catch shows up the moment you need enterprise workflow around identity. SSO and Directory Sync are per-connection SKUs. Radar and custom domains are separate fees. That pricing model makes sense for B2B SaaS, but it is not the same as “all auth is free until we are big.”

Supabase: predictable overage math

Once you leave the free tier, $0.00325 per MAU is much easier to model than Auth0’s plan jumps. Supabase’s billing docs are also unusually explicit about what counts and what does not.

The footnotes matter. Third-party MAU is also $0.00325. SSO MAU and Advanced Phone MFA ($75/mo for the first project on paid plans) are separate line items. Founders often mentally bucket all of that under “auth” and then get surprised on the invoice.

Firebase: cheap MAU, expensive SMS

Tier 1 Firebase auth looks competitive on paper: 50,000 MAU free, then $0.0055, $0.0046, $0.0032, and $0.0025 per MAU at higher volume tiers. The budget risk is phone auth and SMS MFA. Pricing is per message and varies by destination country. If you have a global user base and heavy OTP traffic, SMS can cost more than the MAU line item.

Clerk and Kinde: solid middle tier

Clerk’s 50,000 MRU Hobby tier is generous for an app-first product, but MRU is not MAU. Your bill depends on how Clerk’s retained-user definition maps to your actual usage pattern.

Kinde is interesting if you want auth and billing in one product: MAU can be free when you route payments through Kinde Billing. If you do not want billing in your auth layer, paid overage runs $0.0175/MAU on Pro, $0.0163 on Plus, and $0.0151 on Scale. Reasonable, but not class-leading.

Auth0 and Logto: read the fine print

Auth0 gets expensive fast once you outgrow the 25,000 MAU free tier. The current public pricing page does not show the full self-serve overage ladder; an older official pricing-change post described B2C Essentials scaling at $0.07 per user per month.

Logto can surprise you below 50K MAU. Token metering, MFA add-ons ($48), and enterprise SSO connectors ($48 each) can matter more than the MAU headline. A team under the MAU cap can still hit billing limits on token consumption.

EU residency and getting out later

If you need a clear EU-region story without self-hosting on day one, the strongest managed options here are Supabase, Auth0, Kinde, and Logto.

Supabase lets you pick a project region and publishes a DPA plus GDPR disclosures in its trust center. Auth0 documents EU and UK public cloud regions. Kinde lets you select an EU data region at signup. Logto exposes tenant region selection including Europe (Netherlands), with EU data in Azure West Europe and Private Cloud on Azure for stricter residency needs.

At the other end, Firebase Authentication runs only from US data centers according to Google’s own privacy page. Google publishes DPA, GDPR, and SCC support, but if procurement asks for “keep auth data in the EU,” Firebase is a hard sell.

On lock-in, the vendors split into two camps. Better Auth, Keycloak, SuperTokens, Supabase, and Logto all have credible self-hosting paths. Clerk, Auth0, Firebase, WorkOS, and Kinde are primarily managed; your exit is migration-led, not deployment-led.

The managed vendors that make exit less painful: Kinde (password export), Better Auth (migration guides from multiple vendors), SuperTokens (Auth0/Clerk migration plus session/MFA notes), Clerk (migration utilities), Logto (Management API user migration), and Supabase (GoTrue self-host docs).

flowchart TD
    spike[Free tier changes or auth bill spikes] --> selfHost{Can you self-host the same or compatible stack?}
    selfHost -->|Yes| deploy[Deploy self-hosted target in your preferred region]
    selfHost -->|No| export[Export users, orgs, and identities]
    export --> passwords{Can passwords and MFA factors be exported?}
    passwords -->|Yes| import[Import hashes and factors]
    passwords -->|No| reset[Plan password reset and MFA re-enrollment]
    deploy --> cutover[Run parallel staging cutover]
    import --> cutover
    reset --> cutover
    cutover --> monitor[Dual-run, monitor login success, cut traffic]
    monitor --> done[Revoke old sessions, decommission former provider]

The cheapest time to design your escape hatch is before you ship, not when pricing changes. If vendor policy volatility worries you, pick a provider that lets you keep auth data in your own database or region.

DX, security, and scale (the short version)

On day-one ergonomics, Clerk wins for polished React/Next.js UI. WorkOS wins if you already know you need enterprise SSO on the roadmap. Auth0 wins on “works almost everywhere” breadth. Supabase wins if auth is part of a Postgres plus RLS architecture, not a standalone category pick.

On security depth, Auth0, WorkOS, Keycloak, and Logto have the broadest feature sets. Auth0 has mature attack protection and enterprise deployment options. WorkOS bundles Magic Auth, MFA, passkeys, and SSO around encrypted session cookies. Keycloak has full protocol coverage and pluggable auth flows. Logto covers passkeys and passwordless, though some cloud features are add-ons.

For sovereignty-first setups, Better Auth treats auth as versioned application code. Keycloak is the pick for classic enterprise protocols. SuperTokens fits when sessions and app-embedded integration matter more than traditional IdP admin UIs.

Scale evidence is uneven. Auth0 claims 10B+ authentications per month. Kinde published a customer story at 300,000+ MAU. Keycloak has official HA and benchmark material. Better Auth reported 2-3x latency gains on 50+ endpoints after join optimization. Supabase publishes rate limits and surge-prep guidance rather than a single vanity benchmark number. I prefer that for production planning, even if it is less fun in a sales deck.

What I would pick

flowchart TD
    start[You are launching an indie SaaS] --> selfHostQ{Need self-hosting or minimum lock-in from day one?}
    selfHostQ -->|Yes| embedQ{App-embedded auth or classic IAM?}
    embedQ -->|App-embedded| betterAuth[Better Auth or SuperTokens]
    embedQ -->|Classic IAM| keycloak[Keycloak]
    selfHostQ -->|No| euQ{Need explicit EU region plus OSS escape hatch?}
    euQ -->|Yes| supabase[Supabase Auth]
    euQ -->|Prefer auth-only over BaaS| logto[Logto]
    euQ -->|No| volumeQ{Largest free managed tier plus future enterprise SSO?}
    volumeQ -->|Yes| workos[WorkOS]
    volumeQ -->|No| reactQ{React/Next.js DX above all else?}
    reactQ -->|Yes| clerk[Clerk]
    reactQ -->|No| supabaseDefault[Supabase Auth]

Choose Supabase Auth unless a specific constraint overrides it.

Choose WorkOS if you are clearly building B2B SaaS with enterprise SSO on the roadmap and want maximum free managed volume now. Choose Clerk if React/Next.js polish is the deciding factor and you can live with higher lock-in. Choose Logto if you want an auth-focused product with OSS fallback and explicit EU tenancy. Choose Better Auth, Keycloak, or SuperTokens if you do not want your authentication control plane held hostage by a SaaS vendor.

For a typical bootstrapped SaaS, I would ship on Supabase Auth, keep user metadata in Postgres from day one, and preserve the option to move to self-hosted GoTrue, Logto OSS, SuperTokens, or Better Auth if pricing or compliance requirements change. Speed now, leverage later.

Gaps in the public docs

A few items stayed unclear in the sources I reviewed.

Auth0’s current public self-serve overage formula is less explicit on the 2026 pricing page than in older official pricing-change posts. Clerk’s GDPR materials discuss transfer mechanisms, but I did not find a public EU-hosting selector for the auth plane. WorkOS publishes GDPR/DPA materials, but AuthKit’s region matrix is thinner than Auth0, Supabase, Kinde, or Logto. SuperTokens public docs did not clearly expose managed-cloud region options or a full enterprise add-on price sheet. Better Auth is not directly comparable on MAU because the core product is a self-hosted framework, not a metered hosted auth service.

Sources

Clerk

Clerk pricing
Clerk DPA
Clerk GDPR
Clerk migrations overview

Auth0

Auth0 pricing
Auth0 data residency
Auth0 GDPR

Supabase

Supabase pricing
Supabase DPA
Supabase security / trust center
Self-hosting GoTrue
Supabase social login providers

Firebase

Firebase pricing
Firebase privacy
Identity Platform pricing

WorkOS

WorkOS pricing
WorkOS DPA
WorkOS AuthKit docs

Kinde

Kinde pricing
Kinde export users
Kinde data regions

Better Auth

Better Auth
Better Auth pricing
Clerk migration guide

Keycloak

Keycloak
Keycloak high availability
Keycloak server administration

Logto

Logto pricing
Logto OSS getting started
Logto data region configuration
Logto user migration

SuperTokens

SuperTokens pricing
SuperTokens migration overview
SuperTokens self-host docs