On April 23, 2026, Render quietly changed the shape of your hosting bill. The new workspace plans killed per-seat fees — a genuine win for growing teams — but they also slashed the bandwidth that ships with a plan: from a flat 100 GB down to 5 GB on Hobby and 25 GB on Pro, with every gigabyte beyond that billed at $0.15/GB. On Hobby that's a 20x cut. Bandwidth, the line item nobody budgets for, just became the one most likely to blow up your invoice.
So here is the number you actually came for. Take the canonical indie stack — one web service, one background worker, one managed Postgres — on Render Pro, and run the identical containers on a single Hetzner box. This is the monthly bill at 1 TB of outbound traffic:
| Setup | Monthly cost at 1 TB egress |
|---|---|
| Render Pro (web + worker + Postgres + workspace) | $241.25 |
| Hetzner CX33 (one box, self-managed, 20 TB traffic included) | ≈ $9 |
That's not a typo, and egress is most of the gap. The rest of this post shows every line of both bills, sweeps the traffic from 25 GB to 2 TB so you can find your own row, and — because a $9 box is not a free lunch — accounts honestly for what that price does not buy you.
What actually changed on April 23
Render's old plans bundled a large bandwidth allowance subsidized by per-seat fees. Most small teams never touched it. The 2026 repricing unbundled that: seat fees are gone, replaced by a flat workspace fee, and included bandwidth dropped to a token amount with per-GB metering above it.
| Old plans | New plans (Apr 23, 2026) | |
|---|---|---|
| Billing model | Per-seat | Flat workspace fee |
| Pro workspace fee | Per-seat (~$19–$29/seat) | $25/mo flat, unlimited members |
| Included egress (Hobby) | 100 GB | 5 GB |
| Included egress (Pro) | 100 GB | 25 GB |
| Overage | Billed in 100 GB blocks | $0.15/GB, per-GB |
Two things are worth separating. The move to per-GB billing is fairer — you no longer buy bandwidth in 100 GB chunks. But cutting the included allowance to 25 GB on Pro means a modestly successful app crosses into overage almost immediately. A single 5 MB landing page served to 5,000 visitors a day is ~750 GB/month before you count API responses, images, or a worker pushing data out. That's real money now, and it's the variable that drives everything below.
The canonical stack, priced on Render
Let's price a stack most readers actually run: a web service, a background worker for jobs and cron, and a small managed Postgres. Standard-tier compute (2 GB RAM, 1 CPU) is the realistic floor for production — the $7 Starter tier sleeps and throttles.
| Line item | Tier | Monthly |
|---|---|---|
| Web service | Standard (2 GB / 1 CPU) | $25.00 |
| Background worker | Standard (2 GB / 1 CPU) | $25.00 |
| Managed Postgres | Basic-1GB (1 GB RAM, 10 GB storage) | $20.00 |
| Pro workspace fee | Flat | $25.00 |
| Base subtotal (before egress) | $95.00 |
Ninety-five dollars a month before you serve a single byte to the public internet. That baseline is the same whether you push 1 GB or 1 TB — what moves is the egress line stacked on top.
Sweep the egress: where the bill blows up
Here's the part the changelog doesn't advertise. Because the base is fixed and egress is now $0.15/GB above 25 GB, your total is a straight line with a steep slope. This is the same $95 stack at different traffic levels:
| Monthly egress | Billable over 25 GB | Egress cost | Render Pro total |
|---|---|---|---|
| 25 GB (included) | 0 GB | $0.00 | $95.00 |
| 100 GB | 75 GB | $11.25 | $106.25 |
| 250 GB | 225 GB | $33.75 | $128.75 |
| 500 GB | 475 GB | $71.25 | $166.25 |
| 1 TB | 975 GB | $146.25 | $241.25 |
| 2 TB | 1,975 GB | $296.25 | $391.25 |
Read down the right column. Compute never changed, yet the bill went from $95 to $391 — a $296/mo swing driven entirely by bandwidth. At 1 TB, egress alone ($146) costs more than all three services combined ($70 of compute). For a media-heavy app, a public API, or anything with a firehose worker, egress isn't a rounding error; it's the largest line on the invoice.
This is why "what does hosting cost?" has no single answer on a metered platform. The honest answer is a curve, and you sit somewhere on it whether you've measured it or not.
The same workload on Hetzner
Now run the identical three containers on one Hetzner Cloud box. The CX33 — 4 vCPU, 8 GB RAM, 80 GB NVMe — is €8.49/mo (≈ $9) and ships with 20 TB of traffic included, with overage at just €1/TB. Eight gigabytes of RAM comfortably holds a 2 GB web process, a 2 GB worker, and a 1 GB Postgres with headroom; 80 GB of disk dwarfs the 10 GB Postgres volume.
| Line item | Detail | Monthly |
|---|---|---|
| CX33 instance | 4 vCPU / 8 GB / 80 GB NVMe | €8.49 (≈ $9) |
| Egress (up to 20 TB) | Included | €0.00 |
| Total, any traffic ≤ 20 TB | ≈ $9 |
Overlay the two bills and the shape of the decision is obvious:
| Monthly egress | Render Pro | Hetzner CX33 | Delta |
|---|---|---|---|
| 25 GB | $95.00 | ≈ $9 | ~10x |
| 250 GB | $128.75 | ≈ $9 | ~14x |
| 1 TB | $241.25 | ≈ $9 | ~27x |
| 2 TB | $391.25 | ≈ $9 | ~43x |
At the low end you already pay ~10x — but notice that gap is mostly the managed-service premium and the workspace fee, not bandwidth. It's the right column that tells the egress story: Hetzner's line stays flat at $9 while Render's climbs to $391, because on Hetzner you'd have to push more than 20 TB — 20,000 GB — before a single euro of traffic overage appears. At 1 TB, the egress difference alone ($146/mo) is $1,752 a year you're handing over for bytes that leave a €1/TB box for free.
One caveat on Hetzner's own 2026 pricing, since honesty cuts both ways: the June 15, 2026 standardization raised prices across the board, and the CPX/CCX dedicated-vCPU lines jumped hard (CPX22 went €7.99 → €19.49). The shared-vCPU CX line — the CX33 used here — remains the value pick. Don't reach for a CPX/CCX plan out of habit; for this workload the CX line is both cheaper and plenty.
What the €8.49 box doesn't buy
A cost table that stops at $9 is lying by omission. Render's $95 base isn't only compute — it's compute plus a team of SREs you never see. Move to a raw Hetzner box and you inherit their job. Concretely, the CX33 price does not include:
- Your time. Patching the OS, renewing certs, watching disk and memory, responding when the box wedges at 2 a.m. If a self-hosted incident costs you two hours a month at a developer's loaded rate, that "free" ops work can dwarf the $9.
- Managed Postgres. Render's $20 line includes automated daily backups and point-in-time recovery. On your box you configure
pg_dumpor WAL archiving to object storage yourself — and, crucially, you test the restore. An untested backup is a rumor. - TLS and domains. Render terminates HTTPS and manages certificates for you. On the box you run Caddy, Traefik, or an ingress that does ACME — set-and-forget once it works, but you own the config.
- High availability. One box is one box. Render restarts a crashed service and can shift it off a bad host. A single CX33 is a single point of failure; real HA means a second node and a plan, which changes the math.
This is exactly the gap a self-hosted PaaS layer closes. Tools like Coolify, Dokploy, and Kamal — or a Kubernetes-plus-Cluster-API platform — sit on top of hardware you own and hand back the git-push, managed-TLS, one-dashboard experience you were paying Render's markup for. You keep the €8.49 box and 20 TB of free egress; you get most of the DX back. The trade you're really making isn't "managed vs. cheap" — it's "rent the ops team vs. run a platform layer on metal you control."
Which bill is yours?
If you're a solo builder on the free tier serving a few gigabytes, none of this matters — stay where the friction is lowest. The moment your egress crosses a few hundred gigabytes a month, or a flat workspace fee plus per-GB bandwidth starts showing up as a line you can feel, the arithmetic flips. At 1 TB you're comparing $241 that scales with your traffic against $9 that doesn't move until 20 TB — and the difference is a platform layer you can run yourself.
The repricing didn't make Render a bad deal; it made the deal legible. Now that bandwidth has a per-GB price tag, you can finally see which side of the curve you live on. Measure your real egress this month, drop it into the sweep table above, and read your two numbers side by side. For a lot of teams, the honest answer has quietly become: own the box.
Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own, with 20 TB-included boxes instead of metered egress. Star the repo on GitHub or deploy your first app today.