Identity and SSO
Self-hosted alternatives to Clerk, priced
3 open-source tools that can replace Clerk, each shown with what it would actually cost to run for a team of 10 people. Clerk on the Pro tier costs $25.00 a month at that size.
Start here
Clerk's Hobby plan is free for up to 50,000 monthly retained users. An internal team will almost never exceed that, so for most readers the honest licence cost is zero and the paid comparison below only applies if you need what Pro adds.
| Tool | Server only | With your time | vs Clerk | Operational weight | Licence |
|---|---|---|---|---|---|
| Keycloak | $26.40 | $139 | -$4,550 | medium | Apache-2.0 |
| authentik | $26.40 | $139 | -$4,550 | medium | source-available |
| Zitadel | $26.40 | $139 | -$4,550 | medium | AGPL-3.0 |
The final column is the 36-month difference: positive means self-hosting is cheaper.
Which one to pick
Keycloak 36,732 stars
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.
At 10 people it needs 2.5 GB of memory and 10.1 GB of disk, which fits the Starter 4 GB at VPSServer for $22.00 a month. Setting it up is roughly 6 hours of work, then 1.5 hours a month to keep it healthy.
Full Clerk versus Keycloak breakdown · Keycloak at every team size
authentik 25,446 stars
Server plus worker, PostgreSQL and Redis. Friendlier than Keycloak for proxy-style protection of apps that have no native SSO support.
At 10 people it needs 2.5 GB of memory and 10.1 GB of disk, which fits the Starter 4 GB at VPSServer for $22.00 a month. Setting it up is roughly 6 hours of work, then 1.5 hours a month to keep it healthy.
Full Clerk versus authentik breakdown · authentik at every team size
Zitadel 15,005 stars
Go binary over PostgreSQL, with an event-sourced audit log. Lighter than the JVM option and closer to Auth0's developer ergonomics.
At 10 people it needs 2.5 GB of memory and 10.1 GB of disk, which fits the Starter 4 GB at VPSServer for $22.00 a month. Setting it up is roughly 6 hours of work, then 1.5 hours a month to keep it healthy.
Full Clerk versus Zitadel breakdown · Zitadel at every team size
How the pricing was established
Clerk pricing was read from its own pricing page on 2026-09-14. Server prices come from the providers listed on the hosting page. The sizing model and the cost of your time are set out in full on the methodology page.