Identity and SSO · cost comparison
Clerk vs self-hosted Zitadel: what each actually costs
Clerk on the Pro tier against Zitadel 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, Clerk is the cheaper option: $25.00 a month against $139 to run Zitadel yourself. Self-hosting this at this size buys you control, not savings.
- Clerk
- $25.00per month, Pro
- Self-hosted
- $139server, backups and your time
- Server and backups
- $26.40Starter 4 GB, 4 GB RAM
- 36-month difference
- $4,550 extra to self-host
- Break-even
- neverafter $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 | Clerk | Self-hosted | Without valuing your time | Server needed | 36-month difference |
|---|---|---|---|---|---|
| solo | $25.00 | $139 | $26.40 | Starter 4 GB (4 GB) | -$4,550 |
| 5 people | $25.00 | $139 | $26.40 | Starter 4 GB (4 GB) | -$4,550 |
| 10 people | $25.00 | $139 | $26.40 | Starter 4 GB (4 GB) | -$4,550 |
| 25 people | $25.00 | $139 | $26.40 | Starter 4 GB (4 GB) | -$4,550 |
| 50 people | $25.00 | $139 | $26.40 | Starter 4 GB (4 GB) | -$4,550 |
| 100 people | $25.00 | $139 | $26.40 | Starter 4 GB (4 GB) | -$4,550 |
| 250 people | $25.00 | $139 | $26.40 | Starter 4 GB (4 GB) | -$4,550 |
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 | $22.00 | Starter 4 GB at VPSServer: 2 vCPU, 4 GB RAM, 80 GB disk |
| Backups | $4.40 | 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 | $139 | Plus $450 once, for roughly 6 hours of first-time setup |
Clerk at this size costs $25.00 a month. Clerk Pro is a flat $25.00 a month at this tier, independent of seat count.
Read this before you price anything
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.
What Zitadel needs to run at 10 people
Go binary over PostgreSQL, with an event-sourced audit log. Lighter than the JVM option and closer to Auth0's developer ergonomics.
| 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. |
These base figures are an estimate. Zitadel does not publish a minimum specification we could cite, so the base memory and disk are derived from the services in its own reference Docker Compose file. Treat them as a starting point and watch the first week of metrics.
What you give up, stated plainly
- Uptime is now yours. Clerk 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.40 line above buys snapshots, not a rehearsed recovery.
- Zitadel 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. Zitadel covers the core of what teams use Clerk 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, Clerk wins on cost once your time is priced at $75 an hour. Self-hosting Zitadel 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 Zitadel
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 Starter 4 GB at VPSServer for $22.00 a month.
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 VPSServer link above is an affiliate link, run through the same programme as our Kamatera link; VPSServer and Kamatera belong to the same group. If you sign up through it we may earn a commission, but the programme does not state an amount for VPSServer. 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.
Zitadel at a glance
| Licence | GNU Affero General Public License v3.0 |
|---|---|
| Written in | Go |
| GitHub stars | 15,005, checked 2026-09-12 |
| Latest release | v4.17.3 |
| Last commit | 2026-09-11 |
| Ships Docker images | Yes |
| Project | zitadel.com · zitadel/zitadel |
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.
Every figure on this page, and where it came from
| Input | Value used | Source | Read on |
|---|---|---|---|
| Clerk Pro | USD 25.00 per month | vendor pricing page | 2026-09-14 |
| VPSServer Starter 4 GB | $22.00 per month | provider pricing page | 2026-09-21 |
| Engineer time | $75 per hour | our published assumption | — |
| Zitadel sizing | 2 GB base, 2 MB per user | derived from its reference Compose stack | — |
Prices move. If the vendor has changed theirs since 2026-09-14, the figures above are stale and the source links are the authority, not us. How we handle that.