Every PaaS invoice got rewritten in 2026. Render killed per-seat pricing, Heroku froze its platform in place, Fly.io added new metered lines, Railway flattened its team fee — and in June, even Hetzner, the industry's price anchor, repriced its cloud servers by up to 3x. Each vendor announced its own change in isolation, which means nobody has published the one artifact teams actually need: the same workload, priced on every vendor's September 2026 price list, in a single table. Here it is.
The ledger, up front
Reference workload: one web service (~1 vCPU / 2 GB), one worker, managed Postgres (~10 GB), three preview environments, five seats, 100 GB of NA/EU egress. All figures are September 2026 list prices, per month, in USD (Hetzner converted from EUR).
| Vendor | Seats / platform fee | Web | Worker | Postgres | Previews | Egress | Total |
|---|---|---|---|---|---|---|---|
| Render | $25 (Pro, flat) | $25 (Standard) | $7 (Starter) | ~$9 (Basic + storage) | ~$8 | $0* | ~$74 |
| Heroku | $0 | $25 (Standard-1X) | $25 (Standard-1X) | $9 (Essential-1) | ~$10 | $0 | ~$69 |
| Railway | $20 (Pro, flat) | $40 (1 vCPU / 2 GB) | $20 (0.5 vCPU / 1 GB) | ~$42 (1 vCPU / 2 GB + vol) | ~$15 | $5 | ~$122 |
| Fly.io | $0 | ~$16 (shared, 2 GB) | ~$8 (shared, 1 GB) | ~$41 (MPG Basic + 10 GB) | ~$5 | $2 | ~$72 |
| Hetzner (AX41-class dedicated) | $0 | on-box | on-box | self-run, on-box | on-box | incl. | ~$45–55 |
Note: Render's replan shrank the included bandwidth allowance and moved overages to $0.15/GB, so this row assumes 100 GB lands inside the allowance; every 100 GB past it adds $15.
The one-line version of what moved each row: Render cut $70 in seat fees and added metering exposure. Heroku changed nothing, which is the problem. Railway's flat workspace fee is now a rounding error next to its usage rates. Fly.io's new 2026 line items are small dollars next to its $38 database entry fee. And Hetzner — the flat anchor every comparison leans on — repriced too.
The reference workload (so you can check my math)
A cost comparison is only as honest as its workload spec, so here is the exact one behind every number above:
- Web service:
1 vCPU / 2 GB, always on. Render Standard ($25), Heroku Standard-1X ($25), Railway metered ($20/vCPU + $10/GB = $40), Fly.io shared with 2 GB ($16). - Worker:
0.5–1 vCPU / 0.5–1 GB. Render Starter ($7), Heroku Standard-1X ($25), Railway metered ($20), Fly.io shared with 1 GB ($8). - Postgres:
10 GB storage, smallest production-plausible tier. Render Basic-256mb ($6 + $0.30/GB storage), Heroku Essential-1 ($9), Railway metered + volume (~$42), Fly.io Managed Postgres Basic ($38 + $0.28/GB). - Previews: three PR environments, each live roughly a quarter of the month, web plus worker, billed at each vendor's preview mechanics (Render bills previews per-second as normal services on a Pro workspace; Heroku review apps burn dyno-hours; Railway and Fly.io meter running machines).
- Seats: five. This is the variable the 2026 seat-fee changes pivot on, so the sensitivity section below reruns it at one and ten.
- Egress: 100 GB out of NA/EU. Heroku bundles bandwidth; Hetzner includes a 20 TB-class allowance; Railway charges $0.05/GB ($5); Fly.io charges $0.02/GB ($2).
Method notes: list prices only, no annual discounts, no migration credits, no committed-use deals. Exchange rate for the Hetzner row is roughly €1 = $1.17. Preview costs are estimates because every vendor meters them by the second — treat them as ±50%, which the sensitivity section bounds.
What moved each row in 2026
Render: minus $70 in seats, plus metering exposure
Render's April 23 replan replaced the $19/user Professional plan with a flat $25 Pro workspace (Scale at $499) with unlimited members, fully rolled out August 1. For our five-seat reference, the platform fee fell from $95 to $25 — a $70 cut, and the single biggest line-item swing in this entire ledger. Compute prices did not change (Starter $7, Standard $25, Pro $85), which the July Techsy re-audit confirmed is a better deal for teams.
But the replan was a trade, not a gift. Included bandwidth shrank, overages moved from $30-per-100GB blocks to $0.15/GB metered, and custom domains past the included count bill at $0.25/domain/month. Render says 75% of paying customers pay the same or less — which means 25% pay more, and they are the bandwidth-heavy and domain-heavy ones. If your app serves 1 TB a month, the seat savings evaporate into a ~$135–150 bandwidth line.
Heroku: the price list froze, and that's the trap
Heroku's February 6 "An Update on Heroku" post moved the platform to a sustaining engineering model: no new features, no new Enterprise contracts for new customers, maintenance patches only. Nothing on the price list moved — Standard-1X is still $25, Standard-2X still $50, Postgres Essential-1 $9 with the Standard-0 production tier at $50.
So the honest "biggest mover" for the Heroku row is the absence of one. You pay 2022-shaped prices ($69 for the reference stack) for a platform Salesforce has publicly stopped investing in. The live cost decision on Heroku isn't a 2026 change at all — it's the Postgres tier cliff ($9 to $50) and the renewal question our industry keeps circling: every dollar still on Heroku is a dollar bet that "maintained but frozen" stays acceptable for another year.
Railway: the $20 fee is flat; the usage is the bill
Railway's pricing page now reads Pro as $20 per workspace with $20 of included usage and unlimited seats — third-party mirrors as recent as July still quoted per-seat wording, so this flattening appears to be a summer 2026 change landing after Render's. Either way, at $20 against ~$100 of metered compute, the fee shape barely matters: Railway is the most expensive row in the ledger at ~$122 because $20/vCPU and $10/GB-month, metered per second, is simply the highest unit price here.
That is not a gotcha — per-second metering means stopped previews and scaled-to-zero services cost nothing, which flat-instance vendors can't match. But for an always-on reference stack, there is nowhere to hide: the web service alone ($40) costs more than Render's web plus worker combined ($32). Railway wins when workloads sleep; it loses when they don't.
Fly.io: small new lines, one large old one
Fly.io's 2026 strategy is unbundling. Volume snapshot billing ($0.08/GB-month, first 10 GB free) started charging early this year, and app-scoped static egress IPs began billing January 1 at $0.005/hour — both lines that used to ride along for free — snapshot billing is in Fly.io's pricing docs, and our Fly.io billing teardown has the full 2026 line-item rundown. Neither moves our reference total much: ~$1 for snapshots, $0 without a static egress IP.
What moves the Fly.io row is the database. Managed Postgres Basic starts at $38/month plus $0.28/GB of storage (~$41 with our 10 GB), with no hobby tier — more than half the row's $72 total. The machines themselves are the cheapest managed compute in the ledger ($24 for web plus worker), egress is $2 at $0.02/GB, and there is no seat fee. Fly.io is the "cheap compute, expensive Postgres" vendor, and the 2026 change to watch isn't a price — it's the invoice gaining rows every January.
Hetzner: even the anchor repriced
On June 15, Hetzner raised cloud and dedicated prices for all new orders and rescales. Per Northflank's breakdown, dedicated-vCPU CCX instances rose 2.1–2.73x in Germany/Finland (the CCX33 went from €62.49 to €138.49), shared-AMD CPX rose 2.4–2.75x (up to 3.1x in the US), while shared CX and Arm CAX lines rose a gentler ~1.3–1.4x. Orders placed before June 15 keep old prices, so this is a slow-rolling hike that lands hardest on anyone provisioning fresh.
Our reference row sidesteps the worst of it: an AX41-class dedicated box (6 cores, 64 GB, NVMe) lists around €37–46/month (~$45–55), runs the entire stack plus self-hosted Postgres and container-based previews on one machine, and includes a 20 TB-class traffic allowance. It is still the cheapest row by $15. But the old punchline — "every row reprices except the last one" — died in June. The honest version: the flat row repriced too, just once, as one legible number, instead of continuously across five metered dimensions.
Sensitivity: where the ranking breaks
Base ranking: Hetzner ~$50 < Heroku ~$69 ≈ Fly.io ~$72 ≈ Render ~$74 < Railway ~$122. Three variables can flip it.
Seats (1 → 5 → 10). This is the variable 2026 rewrote. Under Render's old $19/seat plan, ten seats cost $190 in fees alone; today it's $25. Railway's flat $20 workspace fee amortizes to $2/seat at ten. Heroku, Fly.io, and Hetzner have no per-seat line at all. Net effect: solo developers actually lost a little — one seat under Render's old plan was $19 versus $25 flat today — while at ten seats the flat-fee vendors ($25/$20 total) leave any per-seat alternative behind: the seat war of 2026 is over, and flat won.
Egress (100 GB → 1 TB). Marginal cost per extra terabyte, NA/EU: Fly.io +$18 ($0.02/GB), Railway +$45 ($0.05/GB), Render +$135 past the included allowance ($0.15/GB), Heroku and Hetzner +$0. At 1 TB, Render ($210) leapfrogs Railway ($167) as the most expensive managed row — the replan's bandwidth metering is the tripwire. Past roughly half a terabyte, egress dominates every metered invoice and the flat-rate rows stop being merely cheaper and start being differently shaped: Hetzner's $50 doesn't move at all inside its allowance.
Postgres tier (starter → production). Heroku Essential-1 ($9) to Standard-0 ($50) adds $41 — the single biggest tier cliff in the ledger, and the moment Heroku stops looking cheap. Render Basic (~$9) to Standard ($20) adds ~$11. Fly.io's MPG has no down-tier to climb from; the $38 entry fee is already the production shape. If your database needs the production tier on day one, Heroku's row jumps to ~$110 and the "cheap" ranking becomes Hetzner < Fly.io ≈ Render < Heroku < Railway.
The pattern: everything meters, nothing stays flat
Step back and the five rows tell one story. Render unbundled seats into bandwidth and domain metering. Fly.io unbundled snapshots and egress IPs into their own lines. Railway kept the purest usage model and the highest unit prices. Heroku froze — no new meters, no new features, same bill. And Hetzner, the last vendor whose pitch was a single flat number, raised that number by up to 3x on its most popular cloud families.
The convergence is unmistakable: the PaaS market is moving toward fully metered, spreadsheet-required billing where every dimension of your app is separately priced. That's not inherently hostile — metering is fair when your usage is spiky and small. But it transfers forecasting work to you, and every new line item is a future repricing surface. The flat-rate box didn't escape 2026 either; it just repriced the old-fashioned way, once, in public, as one number you can read without a calculator.
So the decision rule for 2027 budgeting: if your workload is always-on, bandwidth-meaningful, and Postgres-backed — the most typical production shape there is — price the Postgres tier and the egress slope before you price the compute, because those two lines now decide the ranking more than any seat fee. And if you want the bill to stay a step function instead of a slope, that shape still exists. It just lives on hardware you control.
Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own, with flat-rate economics instead of a meter on every dimension. Star the repo on GitHub or deploy your first app today.



