Identity and SSO · cost comparison
Auth0 vs self-hosted Keycloak: what each actually costs
Auth0 on the Essentials (B2B) tier against Keycloak running on the smallest server that fits it. Every figure below is computed from the sizing model and the dated prices at the foot of this page, and includes the part most comparisons leave out: your own time.
At 10 people, self-hosting Keycloak costs $121 a month against $150 for Auth0. You are ahead after 15 months and $611 better off over 36 months, with your own time already priced in.
- Auth0
- $150per month, Essentials (B2B)
- Self-hosted
- $121server, backups and your time
- Server and backups
- $8.04CX23 (cost-optimized), 4 GB RAM
- 36-month difference
- $611 saved by self-hosting
- Break-even
- 15 monthsafter $450 of setup time
The same comparison at every team size
Self-hosting has a floor and almost no slope, while per-seat software has no floor and a steep slope. That is the whole story, and it is why the answer flips somewhere in this table rather than being the same for everyone.
| Team size | Auth0 | Self-hosted | Without valuing your time | Server needed | 36-month difference |
|---|---|---|---|---|---|
| solo | $150 | $121 | $8.04 | CX23 (cost-optimized) (4 GB) | +$611 |
| 5 people | $150 | $121 | $8.04 | CX23 (cost-optimized) (4 GB) | +$611 |
| 10 people | $150 | $121 | $8.04 | CX23 (cost-optimized) (4 GB) | +$611 |
| 25 people | $150 | $121 | $8.04 | CX23 (cost-optimized) (4 GB) | +$611 |
| 50 people | $150 | $121 | $8.04 | CX23 (cost-optimized) (4 GB) | +$611 |
| 100 people | $150 | $121 | $8.04 | CX23 (cost-optimized) (4 GB) | +$611 |
| 250 people | $150 | $121 | $8.04 | CX23 (cost-optimized) (4 GB) | +$611 |
The balance tips in favour of self-hosting at around solo.
Where the self-hosted money actually goes at 10 people
| Line item | Per month | What it is |
|---|---|---|
| Server | $6.70 | CX23 (cost-optimized) at Hetzner Cloud: 2 vCPU, 4 GB RAM, 40 GB disk |
| Backups | $1.34 | Provider snapshots at 20% of the server price. Skipping this is not a saving, it is a bet. |
| Your time | $112 | 1.5 hours a month of updates, upgrades and the occasional broken thing, at $75 an hour |
| Total | $121 | Plus $450 once, for roughly 6 hours of first-time setup |
Auth0 at this size costs $150 a month. Auth0 Essentials (B2B) is a flat $150 a month at this tier, independent of seat count.
Read this before you price anything
Auth0's free tier covers up to 25,000 monthly active users. Below that ceiling, and without needing the paid B2B features, self-hosting an identity provider saves nothing at all. The paid comparison below only applies once you need what the Essentials tier adds.
What Keycloak needs to run at 10 people
JVM service with PostgreSQL. Memory is dominated by the heap rather than by user count, so cost per user falls steeply as the directory grows. This is the CNCF-backed incumbent.
| Resource | Required | How it is derived |
|---|---|---|
| Memory | 2.5 GB | 2 GB for the stack at rest, plus 2 MB per active user, plus 25% headroom |
| Disk | 10.1 GB | 10 GB base, plus 0.01 GB per user |
| vCPU | 2 | The project's own baseline. For this workload memory runs out before the processor does. |
What you give up, stated plainly
- Uptime is now yours. Auth0 has an operations team on call. Self-hosted, a failed upgrade at 18:00 on a Friday is your evening.
- Backups only exist if you test restoring them. The $1.34 line above buys snapshots, not a rehearsed recovery.
- Keycloak is a multi-container stack with a database you have to back up yourself. That is why the maintenance line is 1.5 hours a month rather than zero.
- Feature parity is never exact. Keycloak covers the core of what teams use Auth0 for; the long tail of integrations and enterprise controls is where the gap shows.
Where to put Keycloak
2.5 GB of memory and 10.1 GB of disk is what this needs at 10 people. The cheapest plan that fits, among the providers whose prices we have read ourselves, is the CX23 (cost-optimized) at Hetzner Cloud for $6.70 a month.
Go to Hetzner Cloud Compare hosts
We are not claiming this is the cheapest server on the internet. It is the cheapest one we can honestly quote. Vultr and PikaPods publish prices we could not read programmatically, and may well undercut it. Price them yourself before you commit.
Keycloak at a glance
| Licence | Apache License 2.0 |
|---|---|
| Written in | Java |
| GitHub stars | 36,732, checked 2026-09-12 |
| Latest release | 26.7.3 |
| Last commit | 2026-09-12 |
| Ships Docker images | Yes |
| Project | www.keycloak.org · keycloak/keycloak |
Get the migration checklist for this tool
A one-page pre-flight list: data export path, sizing, backup plan, and the rollback step most people skip.
Questions people actually ask
How much does Auth0 cost?
Auth0 Essentials (B2B) costs $150 a month at 10 people: USD 150.00 per month. That figure was read from the vendor's own pricing page on 2026-09-12.
What does it cost to self-host Keycloak?
$121 a month at 10 people: $6.70 for the CX23 (cost-optimized) at Hetzner Cloud, $1.34 of backups, and $112 for the 1.5 hours a month it takes to look after.
Is Keycloak cheaper than Auth0?
Yes, after 15 months, once $450 of first-time setup is counted. Over 36 months the difference is $611 in favour of self-hosting.
What server does Keycloak need?
At 10 people, 2.5 GB of memory and 10.1 GB of disk. The cheapest plan that fits, among the providers whose prices we have read, is the CX23 (cost-optimized) at Hetzner Cloud for $6.70 a month.
How much work is Keycloak to run?
It is rated medium: about 6 hours to set up and 1.5 hours a month afterwards, priced at $75.00 an hour in the figures above.
Every figure on this page, and where it came from
| Input | Value used | Source | Read on |
|---|---|---|---|
| Auth0 Essentials (B2B) | USD 150.00 per month | vendor pricing page | 2026-09-12 |
| Hetzner Cloud CX23 (cost-optimized) | $6.70 per month | provider pricing page | 2026-10-25 |
| Engineer time | $75 per hour | our published assumption | — |
| Keycloak sizing | 2 GB base, 2 MB per user | project documentation | — |
Prices move. If the vendor has changed theirs since 2026-09-12, the figures above are stale and the source links are the authority, not us. How we handle that.