What Su­pabase Re­al­ly Costs: An Hon­est TCO Look at Cloud vs Self-Host­ed

No ven­dor writes the TCO com­par­i­son be­tween Su­pabase Cloud and self-host­ed on Het­zn­er. Past a cer­tain us­age pro­file, self-host­ing saves real mon­ey — but only if you price your in­ter­nal op­er­at­ing hours at a real rate. Skip that, and the sav­ing is an ac­count­ing il­lu­sion.
9 min readMatthias RadscheitMatthias Radscheit
Happycodingen-US

TL;DR

Supabase Cloud starts around 25 USD/month on the Pro plan, but the real bill grows through usage-based compute and egress that climb with your success. Self-hosting on Hetzner from roughly 39 €/month is often cheaper over three years — but only if internal operating hours enter the math at a real hourly rate.

  • Supabase Cloud Pro is marketed as 'from 25 USD/month'. Compute add-ons and egress overages sit on top and rise with usage.
  • Self-hosted on a Hetzner AX41 (around 39 €/month) plus 2–5 hours of monthly maintenance is predictable. Cost per user falls as the project grows instead of rising.
  • Over three years a mid-sized self-hosted web application lands at roughly 40,000–80,000 €. The same project on managed services tends to run at double.
  • The self-hosting saving is only real if internal operating hours are priced at a real hourly rate. Counted as zero, the saving collapses.
  • For small, early projects without an ops team, Cloud is cheaper in total effort. Self-hosting pays off above clear usage and data thresholds.

No ven­dor writes the TCO com­par­i­son be­tween Su­pabase Cloud and self-host­ed. The rea­son is sim­ple: the hon­est cal­cu­la­tion comes out clean for nei­ther side, and a ven­dor only earns mon­ey on one of the two an­swers.

Over the past few years Su­pabase has gone from in­sid­er tip to a de­fault build­ing block in many mod­ern stacks. Post­gres, Auth, Stor­age, Re­al­time, Edge Func­tions — wired to­geth­er, pro­duc­tive in min­utes. That very con­ve­nience push­es the real de­ci­sion into the back­ground: what does Su­pabase ac­tu­al­ly cost over three years if the project suc­ceeds? Not in month one, but in the month when a thou­sand users turn into a hun­dred thou­sand. Ask that ques­tion only when the first four-fig­ure in­voice lands, and you asked it too late.

What Su­pabase Cloud re­al­ly costs — and why the base prices tell you lit­tle

The of­fi­cial pric­ing page is re­fresh­ing­ly trans­par­ent, as long as you read it close­ly. Su­pabase Cloud has four tiers: Free at 0 USD, Pro from 25 USD/month, Team from 599 USD/month, and En­ter­prise on cus­tom terms (as of mid-2026, Cloud prices shift of­ten — ver­i­fy in the con­fig­u­ra­tor). The word that mat­ters sits in small print be­side the num­ber: "from". The Pro plan is not a fixed price, it is a start­ing price.

What the 25 USD cov­ers is con­crete: 10 USD of com­pute cred­it, enough for a Mi­cro in­stance, 8 GB disk per project, 100,000 month­ly ac­tive users, and 250 GB of egress. Sounds gen­er­ous, and for many projects it is. The point is what hap­pens *af­ter* that. Egress costs 0.09 USD per GB, disk 0.125 USD per GB, each ad­di­tion­al ac­tive user 0.00325 USD. Com­pute is a sep­a­rate add-on, billed hourly, from Mi­cro at rough­ly 10 USD/month up to 16XL at around 3,730 USD/month (the add-on ta­ble changes more of­ten than the base prices — read it as an or­der of mag­ni­tude, not a fixed val­ue).

This is not a com­plaint about the pric­ing. It is hon­est­ly us­age-based. But that is ex­act­ly the mech­a­nism FinOps own­ers need to grasp: the cost of man­aged ser­vices ris­es with the pro­jec­t's suc­cess. More users, more traf­fic, more data, high­er bill — not lin­ear­ly, but along thresh­olds you only no­tice in the con­fig­u­ra­tor once you cross them. Build some­thing that works, and you pe­nalise your­self on the in­fra­struc­ture side.

Het­zn­er and Su­pabase self-host­ed: the cal­cu­la­tion no sales­per­son runs for you

Su­pabase is ful­ly self-hostable. All the core com­po­nents — Auth via GoTrue, Post­gREST, Stor­age, Re­al­time, Kong as the gate­way, Post­gres it­self — run on your own in­fra­struc­ture via Dock­er and Dock­er Com­pose. The main repos­i­to­ry is Apache-2.0; the com­po­nents sit un­der MIT, Apache-2 and Post­greSQL li­cences. No li­cens­ing trick, no hid­den en­ter­prise gate bar­ring the door. What Su­pabase Cloud runs, you can in prin­ci­ple run your­self.

Let's work it through with real num­bers in­stead of glossy ones. A Het­zn­er AX41-NVMe — AMD Ryzen 5 3600, 64 GB RAM, two NVMe SSDs, un­lim­it­ed traf­fic — sits at around 39 €/month net. The de­fen­si­ble 2026 range runs from rough­ly 37 to 51 € de­pend­ing on lo­ca­tion, with an an­nounced price ad­just­ment for 15 June 2026 and an up­ward trend — check the live price in the Het­zn­er con­fig­u­ra­tor. On this sin­gle ma­chine, data­base, auth, stor­age and API for an ap­pli­ca­tion with a few thou­sand ac­tive users run com­fort­ably.

Two line items qui­et­ly get dropped on top. First, a clean ini­tial im­ple­men­ta­tion: set­up, in­te­gra­tion, se­cu­ri­ty hard­en­ing, test­ing — a one-off 5,000–20,000 € of de­vel­op­ment ef­fort, de­pend­ing on com­plex­i­ty and com­pli­ance re­quire­ments. Sec­ond, on­go­ing op­er­a­tion: with sen­si­ble au­toma­tion, 2–5 hours per month for up­dates, mon­i­tor­ing and back­ups. These hours are pre­dictable — that is their de­ci­sive trait. They don't swing with the traf­fic.

Over three years, a typ­i­cal mid-sized web ap­pli­ca­tion on a self-host­ed open-source stack tends to land at 40,000–80,000 €, set­up and op­er­a­tion in­clud­ed. A com­pa­ra­ble set­up on pro­pri­etary man­aged ser­vices of­ten runs at dou­ble over the same win­dow, some­times more. We see the same pat­tern across in­dus­tries — in a TCO com­par­i­son of Word­Press against San­i­ty and Next.js, or in the more ba­sic ques­tion of what a mod­ern com­pa­ny web­site re­al­ly costs. The core sen­tence holds: the cost of a self-host­ed stack falls per user over time; the cost of man­aged ser­vices ris­es with the pro­jec­t's suc­cess.

Why the curves cross — and where

Think­ing of both mod­els as straight lines is the most com­mon mis­take. They are not straight lines. They are two curves with dif­fer­ent slopes.

Su­pabase Cloud starts cheap, al­most free. The Free plan cov­ers 500 MB of data­base, 50,000 MAUs and 5 GB of egress — but paus­es af­ter a week of in­ac­tiv­i­ty, so it only suits pro­to­types. The Pro plan car­ries sur­pris­ing­ly far. In a pro­jec­t's first months, Cloud is sim­ply cheap­er than any self-host­ed al­ter­na­tive, be­cause there are no set­up costs and no­body is in­vest­ing op­er­at­ing hours. Then the curve climbs. Every growth spurt brings egress, com­pute and MAU over­ages with it.

Self-host­ing starts ex­pen­sive. The 5,000–20,000 € of set­up stands at the very be­gin­ning, be­fore the first user has logged in. Af­ter that the curve flat­tens. Whether the AX41 car­ries a thou­sand or twen­ty thou­sand users bare­ly changes the hard­ware cost — a ded­i­cat­ed serv­er scales ver­ti­cal­ly for a good while be­fore you start think­ing about re­dun­dant in­stances and a sep­a­rate DB lay­er (re­al­is­ti­cal­ly 150–400 €/month for gen­uine high avail­abil­i­ty).

The crossover is­n't a fixed date but a us­age and data pro­file. Rule of thumb from prac­tice: once egress and com­pute on the Cloud bill ex­ceed the fixed Het­zn­er cost plus the mon­e­tised main­te­nance ef­fort — and the project has left the pro­to­type stage — the bal­ance tips to­ward self-host­ed. For data-in­ten­sive ap­pli­ca­tions with heavy egress or many ac­tive users, that hap­pens ear­li­er than most ex­pect. For an in­ter­nal tool data­base with mod­est traf­fic, per­haps nev­er.

Self-host­ed means op­er­a­tional re­spon­si­bil­i­ty — and that costs

Here it gets hon­est. Self-host­ing is not a but­ton you press and for­get. It is op­er­a­tional re­spon­si­bil­i­ty: ap­ply­ing up­dates, rolling out se­cu­ri­ty patch­es prompt­ly, test­ing back­ups — not just cre­at­ing them, test­ing them — set­ting up mon­i­tor­ing, run­ning a re­store at 3 a.m. when it counts. That re­spon­si­bil­i­ty does­n't van­ish with man­aged ser­vices; it moves to the provider. That is pre­cise­ly what the pre­mi­um pays for.

If you can't or won't cov­er that re­spon­si­bil­i­ty in-house, you should se­ri­ous­ly con­sid­er man­aged. The log­ic is sym­met­ric: with man­aged, cost ris­es and ef­fort falls. With self-host­ed, cost falls and ef­fort ris­es. Nei­ther op­tion min­imis­es both at once. Any­one promis­ing that is sell­ing some­thing.

That's also why we don't rec­om­mend self-host­ing to every­one who asks. A stack that needs an au­then­ti­cat­ed lo­gin with its own iden­ti­ty provider — the kind of Su­pabase-plus-Key­cloak com­bi­na­tion I've cost­ed out in de­tail else­where — adds fur­ther op­er­a­tional com­po­nents that some­one has to un­der­stand and main­tain. Op­er­a­tional re­spon­si­bil­i­ty is not a foot­note. It is half the de­ci­sion.

The un­com­fort­able point: the hour no­body books

Now to the part most TCO cal­cu­la­tions dress up. The self-host­ing sav­ing is only real if your own op­er­at­ing hours en­ter the math at a real hourly rate.

I see it reg­u­lar­ly: a CTO weighs the hard­ware against the Cloud bill and ar­rives at a tidy sav­ing. What's miss­ing is their own time and their team's. The 2–5 hours of month­ly main­te­nance are not a free re­source. At a re­al­is­tic blend­ed rate of around 120 € per de­vel­op­er hour, that's 240 to 600 € a month that has to ap­pear in an hon­est bal­ance. Count­ing those hours as zero rigs the re­sult — only to your own dis­ad­van­tage, be­cause the sur­prise ar­rives lat­er.

And it does­n't ar­rive in the av­er­age. It ar­rives in the ex­cep­tion. The av­er­age is two qui­et hours a month. The ex­cep­tion is the night a failed up­date takes the data­base down and some­one has to re­store the back­up — some­one who knows how, and who is reach­able. That one night ap­pears in no spread­sheet, but it is real. Choos­ing self-host­ing buys you not just servers but the oblig­a­tion that this com­pe­tence ex­ists in-house and is avail­able. Price it in, and the sav­ing shrinks — and for small projects it tips into the op­po­site.

This is ex­act­ly where my own the­sis has its lim­it. Self-host­ing is not cat­e­gor­i­cal­ly cheap­er. It is cheap­er above a thresh­old, *and* on the con­di­tion that the op­er­a­tional com­pe­tence is al­ready there or is to be de­lib­er­ate­ly built. Re­move that con­di­tion, and the ap­par­ent sav­ing is an ac­count­ing il­lu­sion.

One fac­tor bursts TCO in the nar­row sense but be­longs to the over­all de­ci­sion: where the data lives. Su­pabase Cloud runs on AWS, with the re­gion se­lec­table per project — Frank­furt, Paris, Zurich, Stock­holm and oth­er EU lo­ca­tions are avail­able. That does­n't ful­ly re­solve the GDPR ques­tion. Su­pabase Inc. re­mains US-in­cor­po­rat­ed and there­fore po­ten­tial­ly sub­ject to the US CLOUD Act, re­gard­less of the EU stor­age lo­ca­tion. That's a le­gal read­ing drawn from sec­ondary sources, not an in­fra­struc­ture lim­i­ta­tion — but for reg­u­lat­ed in­dus­tries it's a line item in ven­dor risk man­age­ment. Run it self-host­ed on Ger­man hard­ware and the ques­tion is off the ta­ble.

This is­n't a Cloud-only prob­lem. Every US provider car­ries the same ten­sion, which is why the com­par­i­son of Su­pabase against Fire­base from a Eu­ro­pean per­spec­tive comes out even sharp­er for Fire­base: no self-host­ing, Google Cloud only. The sov­er­eign­ty ques­tion is part of the make-or-buy de­ci­sion, not a down­stream com­pli­ance de­tail. If you're com­ing from an ex­ist­ing Fire­base base, the guide to mi­grat­ing from Fire­base to Su­pabase cov­ers the tech­ni­cal pit­falls — but the cost ques­tion is set­tled be­fore that.

What I tell de­ci­sion-mak­ers

Cal­cu­late both curves, not both straight lines. Set a re­al­is­tic growth sce­nario — not this month, but the month when the project works — and en­ter the Cloud us­age line items just as care­ful­ly as the Het­zn­er fixed costs and your own op­er­at­ing hours at a real rate. Set your own time to zero and you're kid­ding your­self, and the truth ar­rives at night.

For an ear­ly project with­out an ops team, Su­pabase Cloud is the right an­swer — fast start, no op­er­a­tional load, pre­dictable up to the first real scal­ing. From the point where the project car­ries, where egress and com­pute be­come no­tice­able and the op­er­a­tional com­pe­tence is in-house or meant to be, the bal­ance turns. Then self-host­ed on Het­zn­er is not only cheap­er but also more sov­er­eign. The strate­gic log­ic that host­ing de­ci­sions say more about an ap­pli­ca­tion than per­for­mance alone ap­plies here twice over. If you want to run Su­pabase with­out ven­dor lock-in and un­der­stand the depth of the stack, the Su­pabase hub for de­ci­sion-mak­ers sets it in con­text. The ques­tion is nev­er whether man­aged or self-host­ed is cheap­er *in gen­er­al*. The ques­tion is where on your growth curve you stand right now — and whether you cal­cu­late hon­est­ly enough to see it.

Frequently asked questions

What does Supabase cost per month on the Pro plan?
The Pro plan starts at 25 USD/month (as of mid-2026, verify live) and includes 10 USD of compute credit, 8 GB disk per project, 100,000 MAUs and 250 GB egress. The 25 USD is a 'from' price: additional compute instances and egress beyond the quota are billed separately, around 0.09 USD/GB of egress. What you actually pay depends heavily on your usage profile.
Is Supabase self-hosted cheaper than Supabase Cloud?
Above a certain usage and data profile, yes. A Hetzner AX41 costs around 39 €/month net, plus 2–5 hours of monthly maintenance and a one-off 5,000–20,000 € setup. Over three years a mid-sized web application lands at roughly 40,000–80,000 € — comparable managed services often run at double over the same window. The saving is only real if internal operating hours are priced at a real hourly rate.
When is Supabase Cloud worth it despite the higher cost?
For small, early projects without their own ops team. Managed means fewer internal hours, a faster start, and no operational responsibility for updates, backups and monitoring. As long as you can't or won't cleanly cover that responsibility in-house, Cloud is cheaper in total effort — the pure infrastructure bill misses the point here.
What hidden costs does Supabase Cloud have?
The plan base prices are transparent; the usage-based line items are not. Egress (0.09 USD/GB), additional compute instances (Micro up to 16XL, roughly 10 USD to around 3,730 USD/month) and MAU overages scale with the project's success. Cloud prices shift often — verify against a live date. The mechanism is what matters: managed costs rise as the project grows.

Sources

Related articles

Open for select projects

Let's talk about your project

Book a no-oblig­a­tion call, send us an email, or use the form – we'd love to hear from you.

150+
Completed projects
15
Years of experience
8
Senior‑level team members