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 this one is close enough to go either way. The server costs $28.80 a month against $150 for Auth0, but add 1.5 hours a month of your attention and self-hosting lands at $141 and loses. It only wins if your time is genuinely free.
- Auth0
- $150per month, Essentials (B2B)
- Self-hosted
- $141server, backups and your time
- Server and backups
- $28.80Basic 4 GiB, 4 GB RAM
- 36-month difference
- $137 extra to self-host
- Break-even
- 4.3 yearsafter $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 | $141 | $28.80 | Basic 4 GiB (4 GB) | -$137 |
| 5 people | $150 | $141 | $28.80 | Basic 4 GiB (4 GB) | -$137 |
| 10 people | $150 | $141 | $28.80 | Basic 4 GiB (4 GB) | -$137 |
| 25 people | $150 | $141 | $28.80 | Basic 4 GiB (4 GB) | -$137 |
| 50 people | $150 | $141 | $28.80 | Basic 4 GiB (4 GB) | -$137 |
| 100 people | $150 | $141 | $28.80 | Basic 4 GiB (4 GB) | -$137 |
| 250 people | $150 | $141 | $28.80 | Basic 4 GiB (4 GB) | -$137 |
Self-hosting never comes out ahead at any team size on this page, once your time is priced in.
Where the self-hosted money actually goes at 10 people
| Line item | Per month | What it is |
|---|---|---|
| Server | $24.00 | Basic 4 GiB at DigitalOcean: 2 vCPU, 4 GB RAM, 80 GB disk |
| Backups | $4.80 | 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 | $141 | 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 $4.80 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.
We are not going to tell you to self-host this
At 10 people, Auth0 wins on cost once your time is priced at $75 an hour. Self-hosting Keycloak here only makes sense for reasons that are not on the invoice: data residency, avoiding a vendor, or wanting to run the thing yourself. Those are real reasons. Saving money is not one of them at this size.
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 Basic 4 GiB at DigitalOcean for $24.00 a month.
Go to DigitalOcean Compare hosts
We are not claiming this is the cheapest server on the internet. It is the cheapest one we can honestly quote. Hetzner Cloud, Vultr and PikaPods publish prices we could not read programmatically, and Hetzner in particular is usually cheaper per gigabyte of memory than anything quoted above. Price them yourself before you commit.
The DigitalOcean link above is a referral link: if you sign up through it and pay your first $25, we receive $25 of DigitalOcean account credit. That never changes the computed costs, which server is chosen, or the conclusion of this page. The sizing model and every price source are published in full.
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 |
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 |
| DigitalOcean Basic 4 GiB | $24.00 per month | provider pricing page | 2026-09-12 |
| 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.