Skip to main content

Hetzner Raised Prices Twice in 10 Weeks: What Your Self-Hosted Fleet Really Costs Now

14 min readDora NodaDora Noda
Share

Hetzner's cheapest box just got repriced twice in ten weeks — and the second hike tripled some instances.

On April 1, 2026, Hetzner raised cloud and dedicated prices 30–37% across Germany, Finland, the US, and Singapore. On June 15, it did it again — this time 107–204% on the dedicated-vCPU CCX family and 113–176% on the shared-vCPU CPX family, on top of the already-higher April baseline. A CCX23 that cost $39.99 before April now lists at $102.99. The headline "30% increase" was true for one tier and fiction for the tier most production fleets actually run.

Every "self-host on Hetzner, it's 8× cheaper than Render" comparison you read in 2025 used a price that no longer exists. This post recomputes the fleet — before, after April, after June — and stacks it against the same workload on Render, Railway, and Fly.io at their own 2026 prices, to answer the uncomfortable follow-up: does owning the hardware still win when the hardware keeps repricing itself?

The hikes in two tables — the numbers first

No throat-clearing. Here are the deltas that matter.

Table A — Per-instance Hetzner Cloud, same SKU, three price points

Prices are monthly rent for the instance alone (VAT excl., Germany/Finland region; US up to 3.1× on CPX). June 15 applies to new orders and rescales only — existing instances hold the April price until you touch them. Sources: Hetzner price adjustment via Gart Solutions and community before/after tallies.

FamilyExample SKU (2 vCPU / 4 GB class)Pre-April 2026April 1, 2026 (+30–37%)June 15, 2026 (cumulative vs pre-April)What June actually added on top of April
CX (Intel shared)CX23 (2 vCPU / 4 GB / 40 GB)~€5.83~€7.99~€10.59~+33% on top of April
CAX (ARM shared)CAX31 (4 vCPU / 8 GB)~€12.40~€16.90~€21.99~+30% on top of April
CPX (AMD shared)CPX31 (4 vCPU / 8 GB)~€13.90~€18.90~€42.00+122% on top of April (≈3.0× pre-April)
CCX (dedicated vCPU)CCX23 (4 vCPU / 16 GB)~$39.99~$54.99~$102.99+87–107% on top of April (2.6× pre-April)
Dedicated bare metalAX42 (Ryzen 7 PRO 8700GE, 64 GB)€47.30€57.30€57.30 (held; reprovision at new SKU adds setup)— grandfathered

The pattern: the cost-optimized lines (CX, CAX) got the mild second bump. The lines production fleets default to for noisy-neighbor isolation — CPX and CCX — got the brutal one. If your fleet picker sorts by "dedicated vCPU for Postgres," June hit harder than April.

Table B — A real 3-service fleet, same workload, three price eras

Fix the workload: API (2 vCPU/4 GB) + worker (2 vCPU/4 GB) + managed Postgres equivalent (2 vCPU/4 GB), always-on (730 hours), 160 GB total volume (3× 40–80 GB), 200 GB egress/month. Cluster API control plane on a small CX/CAX node. Hetzner bandwidth is 20 TB included per large instance, so egress is $0 at this volume. PaaS prices at August 2026 docs.

Platform / eraHow the monthly invoice adds upTotal / month
Hetzner pre-April (the number every 2025 blog still quotes)3× CX23/CAX-class ~€5.83–€8.50 + control plane €4.50 + volumes bundled~€38–€48 (~$41–52)
Hetzner post-April (broad hike)Same 3 nodes at +30–37%~€51–€66 (~$55–71)
Hetzner post-June, CX/CAX pool (fleet that stayed on cost-optimized)3× CX23 ~€10.59 + control plane ~€5.19~€58–€72 (~$63–78) — +52% vs pre-April
Hetzner post-June, CPX/CCX pool (fleet on dedicated AMD)3× CPX31/CCX23 at new rates~€126–€170 (~$136–184) — 2.6–3.1× vs pre-April
Render, Aug 20263× Standard (1 vCPU/2 GB) or 1× Pro Plus for larger shape: 3× $25 = $75 compute + Hobby $0 workspace (Pro $25 if team needs it) + disk ~$40 + egress $0 inside included band~$75–$140 depending on tier + disk
Railway, Aug 2026Compute ~$10/GB RAM-mo + $20/vCPU-mo metered per-second: ~$100–120 for 6 vCPU/12 GB + $10 egress (200 GB × $0.05) + Hobby $5 / Pro $20 floor~$115–$150
Fly.io, Aug 2026 (NA/EU)3× shared-cpu-2x/4x metered ~$60–90 + 160 GB volumes × $0.15 = $24 + egress 200 GB × $0.02 = $4 + egress IP $3.60 ×1–3~$95–$130
Fly.io, Aug 2026 (Africa/India)Same compute, egress at $0.12/GB$24~$115–$150

Read that vertically: even the cheapest Hetzner pool is no longer "€38 for everything." It is €58–72 on CX/CAX and €126–170 if you defaulted to CPX/CCX. The 2025 comparison understated the Hetzner side by 52% at best and by more than 2× at worst — and still, the bottom half of the column matters more than the top.

At 200 GB egress the PaaS side sits at roughly $75–150. The post-June Hetzner side sits at $63–78 on the cost-optimized pool and $136–184 on the dedicated pool. Translation: the cheap-box pitch survives on CX/CAX and narrows to a coin flip on CPX/CCX before you account for operations. At 0 GB egress, the PaaS metered side is closer to Hetzner; at 1 TB egress, Hetzner pulls away again because Railway adds $50, Fly.io NA/EU adds $20 (Africa/India $120), and Render adds $0–150 depending on whether you cleared the included band — while Hetzner still adds $0.

That is the early answer the title owes you. The rest explains why it moved, what the operator actually pays, and how to quote self-hosting honestly after June.


Why it moved: a DRAM supercycle, not a pricing whim

Hetzner's own notice cites "extremely high procurement costs for new hardware" — specifically DRAM and NVMe. The numbers behind that line are worse than any single vendor's decision.

TrendForce revised its Q1 2026 DRAM contract-price forecast to +90–95% quarter-over-quarter, with NAND flash +55–60% over the same period. Its Q2 outlook adds another +58–63%. The cause is not a factory fire or a bad quarter. AI infrastructure buyers are consuming roughly 40% of world DRAM output as high-bandwidth memory (HBM) for GPU servers. HBM takes about 3× the wafer capacity per gigabyte as conventional DDR5 (Micron). Samsung, SK Hynix, and Micron are reallocating clean-room capacity toward HBM because that is where the margin is — leaving conventional server DIMMs short. Smaller OEMs were told to expect 35–40% fulfillment on DRAM orders in early 2026. Server DRAM has, by TrendForce's Q1 accounting, actually overtaken HBM on margin — the shortage itself made the "cheap" product lucrative to withhold.

IDC's framing is the one that matters for planning: this is not a cyclical shortage that eases when consumer demand softens. It is a permanent strategic reallocation of silicon capacity toward AI memory, with no meaningful relief expected until late 2027 (Counterpoint: "no scenario" where prices correct materially in H2 2027). DigiTimes floated another +70% in Q2 alone on top of Q1's near-doubling.

For a fleet operator, the implication is blunt: Hetzner repricing twice in ten weeks is not Hetzner being greedy. It is a substrate vendor upstream of every PaaS passing through the same shock — OVHcloud published a 9–11% annual increase path through 2028 on the same day Hetzner did April 1, and flagged the same RAM/NVMe curve. The cheap box got expensive because the sand it is made of did.


What a Cluster-API fleet actually pays — three price eras, one trap

Take a concrete fleet that maps to the workload above. Three worker nodes plus a small control-plane node, all in Falkenstein or Helsinki (cheaper than US/Singapore post-hike), 20 TB included traffic per large instance, backups via Hetzner volumes/snapshots.

Pre-April baseline (fictional now): 3× CX23 at €5.83 + 1× CX11/CAX11 control plane at ~€3.79 = ~€21.28 compute plus storage. With Hetzner Cloud's bundled local disk, the cash invoice for compute was genuinely under €40 for the whole fleet at idle. That is the number still floating in Hacker News "just get a Hetzner box" comments.

Post-April (the number that replaced it on April 1): the same four nodes at +30–37%. The 3× CX23 line goes €17.49 → €23.97. The AX42-style dedicated alternative goes €47.30 → €57.30. A fleet that did nothing — no rescale, no new order — saw its monthly cost rise if it was billed as existing customer cloud instances (April applied to new and existing). There was no avoiding this one by "just not touching anything."

Post-June (the split reality since June 15): this is where fleet design matters. Hetzner grandfathered existing instances at their April price until rescale. A fleet that never rescales keeps paying April prices. A fleet that needs to grow — add a node for a new tenant, rescale a CCX23 from 4 vCPU to 8 vCPU, replace a failed machine — pays the June number on the affected instance.

So two fleets provisioned identically in March now have different bills in August:

  • Fleet A — stayed on CX/CAX, never rescaled: ~€58–72/mo all-in. About 52% above pre-April, matching the milder June bump on those families.
  • Fleet B — ran CPX31/CCX23 for Postgres isolation, added one node in July: the new node prices at €42.00 / $102.99 instead of the €13.90 / $39.99 it would have cost in March. Fleet total jumps to ~€126–170/mo, 2.6–3.1× the pre-April number. The operator didn't change architecture. The substrate repriced the architecture they chose.

The trap is psychological: grandfathering feels like protection until you need to scale — exactly when a growing tenant fleet needs to scale. The moment your autoscaler or Cluster API MachineDeployment asks for a new replica, the grandfathered price stops being your price. Budgeting from the old number without a "next-node-at-June-rates" line is budgeting from fiction.

Add the other June 15 detail most summaries skip: Hetzner collapsed custom RAM/storage add-ons into fixed -Ltd/-1/-2/-3 tiers and introduced a -Ltd budget SKU built from lower-cost-sourced hardware to hold a lower price point. It is cheaper on purpose because the hardware is cheaper. A PaaS defaulting its node pool to -Ltd to reclaim margin is making a hardware-quality bet it should surface explicitly, not hide behind a price table.


Head-to-head at August 2026 prices: does self-hosting still win?

Hold the workload constant so the money has to move, not the workload.

Render in August 2026: flat workspace fee (Hobby $0 / Pro $25 / Scale $499, unlimited members, forced migration August 1) plus per-service compute. Three Standard services at $25 each is $75 before workspace and disk. Disk at $0.25/GB is ~$40 for 160 GB if billed separately. Egress at 200 GB sits inside the included band, so $0 overage. Team on Hobby: ~$75–115. Team that needs Pro workspace: add $25. Team that needs Pro Plus shapes (4 vCPU/8 GB in one service): $175 per large service before disk. Concretely: Render is competitive for one or two services, multiplicative for three-plus — exactly the shape a consolidated Hetzner node pool absorbs for free by bin-packing.

Railway in August 2026: no free tier for persistent workloads, metered per-second under a Hobby $5 / Pro $20 floor, at $10/GB RAM-mo + $20/vCPU-mo. For 6 vCPU / 12 GB always-on that arithmetic lands around $100–120 in compute, plus $10 egress (200 GB × $0.05), plus the plan floor. Total ~$115–150. Railway wins decisively for bursty, low-average-load workloads — a preview environment that runs 4 hours a day costs ~1/6 of the always-on number — and loses that advantage the moment the workload is steady-state, which most API+worker+DB fleets are.

Fly.io in August 2026: pure usage billing (Hobby/Launch/Scale tiers killed October 7, 2024) with per-second Machines, volumes at $0.15/GB-mo, egress $0.02/GB NA/EU and $0.12/GB Africa/India, egress IPs $3.60/mo per IP since January 1, 2026, and volume snapshots now metered. Three Machines at this size run ~$60–90 provisioned, volumes $24, egress $4 (NA/EU) / $24 (Africa/India), plus IPs. Total ~$95–130 NA/EU, ~$115–150 in high-egress regions. The headline "shared-cpu-1x at $3.32/mo" is real and irrelevant at this shape — the small lines sum past the big line.

The honest scoreboard at 200 GB egress:

  • If your fleet pools on CX/CAX, self-hosting at $63–78 undercuts all three PaaS totals at $75–150 by roughly 20–50% — the margin narrowed from the 70–80% gap people quoted pre-April, but it is still a win on cash alone.
  • If your fleet requires CPX/CCX dedicated vCPU, self-hosting at $136–184 is roughly parity to slightly above Render/Railway/Fly.io for the same workload — the hardware-cost advantage is consumed by the tier you chose. You are paying for isolation and predictable $0 egress, not for topping a price leaderboard.
  • At 1 TB egress, even the expensive Hetzner pool pulls ahead again — the PaaS egress meters ($0.02–0.12/GB) add $20–120 where Hetzner adds $0, and the gap widens with every 100 GB. Any comparison that omits egress is comparing compute while pretending bandwidth is free. It isn't on a PaaS.

Sensitivity matters more than any single point estimate. The representative workload above is middle-of-road. If you run one small API at 0 GB egress, Fly.io and Render Hobby are genuinely cheaper than a whole Hetzner fleet you have to fill. If you run five services at 500 GB egress, the fleet amortizes and the PaaS multiplies — the fixed box wins with room to spare. The shape of your traffic decides the winner, not a brand.


The quote you should actually give — and the hedge worth buying

Three practical consequences for anyone selling or buying "cheap owned hardware" after June.

1. Quote the trend line, not the price point. A self-hosted cost comparison that cites a single Hetzner number without a date is now misinformation — even if the author didn't mean it that way. The honest quote names the era ("post-June 15, 2026, new-order pricing, CX/CAX pool") and states the exposure: next rescale prices at next quarter's number. Add a repricing reserve of 10–15% of substrate spend to any budget that assumes Hetzner prices hold. If the next DRAM quarter adds another 30%, the reserve is what keeps the tenant's price stable while the substrate moves underneath.

2. Default the pool to the mild-hike family and isolate only where it pays. The entire spread between "still 40% cheaper" and "roughly parity" is the choice of CX/CAX versus CPX/CCX. For stateless API and worker tiers, the shared lines at +33% post-June are the rational default — bin-pack, overcommit, let Cluster API scale them horizontally. Reserve dedicated vCPU for the one tier where noisy-neighbor cost is measurable (usually Postgres) and size it narrowly, not fleet-wide. A fleet-wide CPX/CCX default after June is the most expensive way to buy an isolation guarantee most tenants don't need at the app tier.

3. Hedge the substrate deliberately, even if you don't multi-cloud day-to-day. Hetzner's second hike landed alongside OVHcloud's 9–11% annual path and UpCloud's €3/month Starter in May 2026. None of those vendors individually solves the DRAM shock — they all buy the same memory — but they diversify the pricing and capacity risk that showed up as a second Hetzner incident (provisioning delays on July 28, 2026, four days after a rack-level network fault) in the same month. Cluster API's value here is not abstract portability. It is the concrete ability to make an UpCloud or second-region Hetzner node pool the next MachineDeployment without replatforming tenants. You don't have to multi-cloud the fleet to keep the option — you just have to keep the Provider config and image pipeline honest so the next node can land elsewhere if the price or availability of the first provider stops being rational.

The 2026 repricing ledger is not an anomaly to wait out. It is one upstream cause — AI memory demand repricing the physical substrate — propagating upward through every managed layer. The vendors that can move first will. The teams that fare best won't be those that picked the cheapest vendor in January. They'll be those whose cost structure has the fewest lines someone else can rewrite before December — and whose self-hosted pitch quoted a range with a date, not a single number frozen in March.

Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own. Render-compatible API, Cluster API fleet underneath, no per-seat meter and no credit pool. Star the repo on GitHub or deploy your first app today.

Related articles

Run this on infrastructure you own

bex is the open-source, AI-native Render alternative — push a git repo and get a running HTTPS service on your own machines.

Get started with bex