TL;DR
Hetzner raised most cloud server prices by 30–37% on April 1, 2026 (steeper on some US tiers). Despite that, it's still 50–70% cheaper than DigitalOcean for equivalent CPU and RAM, and it includes 4–5× more bandwidth on the same tier. Recent migration write-ups land on roughly the same number: about $14K saved per year on a mid-sized stack. Switching is worth it if you're running your own MySQL/Postgres and Nginx; it isn't worth it if you depend on managed databases, App Platform, or Spaces. I run two production boxes on Hetzner from Cyprus and one droplet on DigitalOcean for a US-only side project, so the rest of this comes straight from current bills.
What changed on April 1, 2026
Hetzner announced the price adjustment in late February and rolled it out a month later. The company cited rising hardware acquisition costs; Tom's Hardware framed it against a 171% year-over-year jump in DRAM. The change applies to both new orders and existing products. There was no grandfathering.
The increases aren't uniform:
- Cloud servers in Germany and Finland: +30% to +37% depending on tier
- Cloud servers in the US: broadly similar, with some tiers seeing larger jumps
- Dedicated servers: smaller bumps, mostly in setup fees
- Storage Box and bandwidth pricing: largely unchanged
DigitalOcean hasn't raised pricing in 2026. The gap narrowed, but it didn't close.
Current pricing: side by side
This is a head-to-head on the tiers that come up the most in real billing tickets: small workhorse VMs, mid-sized API servers, and "I just want a Postgres host" boxes. All numbers are post-April-1 Hetzner pricing, converted at €1 = $1.07.
| Tier (Hetzner SKU) | RAM / vCPU / Disk | Hetzner Cloud (FSN/HEL) | DigitalOcean Basic | Hetzner Bandwidth | DO Bandwidth |
|---|---|---|---|---|---|
| Entry (CPX22) | 4 GB / 2 vCPU / 40 GB NVMe | €7.99 / mo (~$8.55) | $24 / mo | 20 TB | 4 TB |
| Mid (CPX32) | 8 GB / 4 vCPU / 80 GB NVMe | €13.99 / mo (~$14.97) | $48 / mo | 20 TB | 5 TB |
| Workhorse (CPX42) | 16 GB / 8 vCPU / 160 GB NVMe | €25.49 / mo (~$27.27) | $96 / mo | 20 TB | 6 TB |
| Beefy (CPX52) | 32 GB / 16 vCPU / 240 GB NVMe | €36.49 / mo (~$39.04) | $188 / mo (DO General Purpose, 8 vCPU) | 20 TB | 6 TB |
The pre-April Hetzner CPX21 (the spiritual ancestor of the entry tier) cost €5.83/mo, so €7.99 represents a +37% jump. Even after that bump, the Hetzner column is roughly a third of DO Basic at the low end, and at the Workhorse tier you get 2× the vCPUs on top of the price gap. You also get 4–5× the included bandwidth across every tier.
The bandwidth point is the one that flips ROI for video, image-heavy SaaS, and game servers. DigitalOcean charges roughly $10/TB over the included quota (priced as $0.01/GB); Hetzner charges €1/TB. On a workload pushing 10 TB/month over the included tier, that's $100/month versus about €10/month, roughly $1,000/year in bandwidth savings on top of the base price gap.
Performance: closer than you'd guess
Hetzner runs newer silicon. The CPX line uses AMD EPYC 7002 and 7003 (Rome and Milan); the dedicated AX line is on EPYC 9004 (Genoa). DigitalOcean's Premium AMD droplets run EPYC Milan and Genoa too, but the Basic droplets (the ones most people are actually paying for) sit on older Skylake and Cascade Lake Xeons.
From benchmarks I've run myself and cross-checked against VPSBenchmarks: Hetzner CPX is ~25–40% faster on single-core CPU and 2× faster on disk IOPS than a same-priced DigitalOcean Basic droplet. Network throughput within the same datacenter is comparable on both; cross-region latency from Hetzner Falkenstein to a US-East user runs about 110ms, versus ~25ms on a DO NYC droplet.
The latency number is the one that decides things for anyone outside Europe. If your audience is US-only, the Hetzner US datacenters in Ashburn and Hillsboro are real options now, but they're smaller and the EU-tuned support muscle doesn't fully reach them yet. For a Cyprus or EU-focused product, Falkenstein is the obvious win.
Real migration numbers from the last six months
These are from public write-ups by people who actually moved production traffic, not promo posts.
Isa Yeter documented a full migration: 30 MySQL databases (248 GB), 34 Nginx vhosts, GitLab EE, Neo4j, hundreds of thousands of mobile users, going from $1,432/month on DigitalOcean to $233/month on a Hetzner AX162-R dedicated server with 48 cores and 256 GB DDR5. That's the headline $14K/year number making the rounds.
The Talk Python infrastructure swap reported a similar pattern: a decade on DigitalOcean, then about $1,500/year saved by moving the same workload to Hetzner Cloud. byteiota's writeup landed at 60% off. The shape of the savings is consistent: half to two-thirds off regardless of stack size, because the underlying euro-per-vCPU-per-month math is the same whether you're running one box or twenty.
Where DigitalOcean still wins
Migration breakeven depends on more than the raw bill. DigitalOcean's PaaS layer is the part you actually pay for, and Hetzner doesn't have an equivalent.
-
Managed Databases: DO's managed Postgres, MySQL, Redis, MongoDB, and Kafka are turnkey with point-in-time recovery, read replicas, and automatic failover. Hetzner gives you a bare VM and an
apt install postgresqlproblem. - App Platform: Heroku-style git-push deploys with autoscaling, build pipelines, and edge routing. Hetzner has Cloud Console; you bring your own CI/CD.
- Spaces (S3-compatible object storage): Hetzner has Storage Boxes (FTP/SFTP/SMB), which aren't the same thing. If you need S3 semantics in Europe, you're looking at OVHcloud Object Storage, Scaleway, or a self-hosted MinIO on a Hetzner box.
- One-click apps and droplet snapshots that work like AMIs: DigitalOcean has invested in this for a decade. Hetzner snapshots work but feel less polished.
- 24/7 chat support with US business hours coverage: DO has it. Hetzner has email tickets and a community forum.
If your team is two people and the half-day per month spent on database ops would otherwise go into shipping features, paying ~$60/month for DigitalOcean Managed Postgres on the smallest production tier is a defensible call. If you have a dedicated SRE or you genuinely enjoy pg_basebackup, Hetzner wins on every other axis.
Migration playbook: the zero-downtime version
The pattern that keeps showing up in successful migrations is the same six-phase outline. This is the abridged version; if you are moving real traffic, Isa Yeter's full guide is the most thorough recent reference.
# 1. Drop DNS TTL to 300s a week before the cutover
# (Doing this on day-of is too late — caches lag.)
dig +short example.com
# Verify TTL on registrar side, set to 300
# 2. Provision the Hetzner box and bring it to parity
# OS, packages, configs, secrets, deploy keys
# Use a configuration tool you already trust — Ansible, Pulumi, or shell
# 3. Set up MySQL/Postgres replication from DO → Hetzner
# Old box = primary, new box = replica, async streaming
# For MySQL: GTID-based replication
# For Postgres: physical or logical replication
# 4. Cut traffic by flipping DNS A records
# Old box keeps running as a fallback for 24h
# 5. Convert the old DO box to a reverse proxy
# Anything still hitting the old IP gets forwarded to Hetzner
# This handles cached resolvers without dropping a single request
# 6. Tear down the DO box after 7 days of clean logs
Two things break in real migrations and never make it into the marketing case studies.
First, MySQL mysql.user schemas drift between minor versions, and a 5.7→8.0 jump will fail the slave promotion if you haven't done mysql_upgrade --force and rebuilt the sys schema. Test this on a staging copy.
Second, application users that you granted SUPER to during some emergency three years ago will quietly bypass read_only = 1 on the replica and write to the wrong master. Check SHOW GRANTS for every account before you cut traffic, and revoke SUPER from anything that isn't an admin. The Yeter writeup hit this on 24 accounts.
GitLab webhooks are the third one if you are running GitLab. They store the absolute IP, not the hostname, and you have to do a bulk API rewrite after the cutover.
Cyprus and the EU: latency, residency, and the boring win
Hetzner is a German company with datacenters in Falkenstein, Nuremberg, and Helsinki. From Cyprus, latency to FSN runs about 60–80ms versus 110ms+ to DO Frankfurt. From any EU country, you're getting GDPR-clean data residency by default: no DPA acrobatics, no Standard Contractual Clauses for a US sub-processor, no awkward conversation with your enterprise customer's legal team.
For startups based in Cyprus, Estonia, Portugal, or anywhere on the Blue Card / digital nomad track, this is a quietly useful side benefit. The EU AI Act and the data sovereignty pieces of the Digital Services Act both nudge companies toward keeping inference and customer data inside the EU. A Falkenstein box is the cheapest way to be compliant on day one without rearchitecting your stack later on.
You might also like the Polars vs Pandas comparison if you're squeezing more out of a single Hetzner box on a data workload.
FAQ
Is Hetzner cheaper than DigitalOcean?
Yes. Even after the April 1, 2026 price increase of 30–37%, Hetzner cloud servers cost roughly 50–70% less than equivalent DigitalOcean droplets on the same RAM and vCPU. The 4 GB / 2 vCPU tier is €7.99/month on Hetzner versus $24/month on DigitalOcean. Hetzner also includes 20 TB of bandwidth versus 4 TB on DO, which widens the gap further for traffic-heavy sites.
Is Hetzner reliable?
In production usage, yes. Hetzner runs three EU datacenters (Falkenstein, Nuremberg, Helsinki) and two US ones (Ashburn, Hillsboro), with a published uptime track record comparable to DigitalOcean. The differences are at the SLA paperwork layer (DigitalOcean publishes a 99.99% SLA, Hetzner's is less prominent) and at the support layer, where Hetzner is email-ticket-only versus DO's chat support.
How do you migrate from DigitalOcean to Hetzner with zero downtime?
The proven pattern: drop DNS TTL to 300 seconds a week ahead of the cutover, provision and configure the Hetzner box to full parity, set up MySQL/Postgres replication with the old box as primary, flip DNS, and convert the old box to a reverse proxy for cached-resolver traffic for 24 hours. Tear down the old box only after 7 days of clean logs. Real migrations of 30+ databases have completed in 24 hours with zero downtime using this exact sequence.
Why is Hetzner so cheap?
Three reasons. They own and operate their own datacenters in lower-cost regions of Germany and Finland (cheap power, cheap real estate). They run a flat catalog with no managed-service margin layered on top. And they've historically chosen newer-but-cheaper AMD EPYC silicon over the brand-name Intel Xeon parts that hyperscalers default to. After the April 2026 price hike they're still cheaper, just less dramatically so.
Is Hetzner good for production workloads?
For self-managed stacks: yes, and a lot of European startups have been on it for years. For workloads that lean heavily on managed services (managed databases, S3-compatible object storage with full API compatibility, autoscaling app platforms, edge networks), DigitalOcean, AWS, or GCP are still the right call. Hetzner is a "you do the ops" platform. That's both why it's cheap and why it isn't for everyone.
Does the April 2026 price hike change the migration math?
It compresses the payback period but doesn't eliminate the savings. If you were saving $1,000/month at the old prices, you're saving $700–800/month at the new prices on the same workload. A typical migration that took 40 engineering hours to execute now pays back in 3–5 months instead of 2–3. Still worth it for any stack where the original DO bill is over $200/month.
Sources
- Hetzner — Statement on price adjustment as of April 1st 2026 — official announcement
- Tom's Hardware — German data center giant hikes prices up to 37% — independent reporting on the price hike
- Isa Yeter — DigitalOcean to Hetzner migration: $1,432 to $233/month — full zero-downtime playbook with real numbers
- byteiota — DigitalOcean to Hetzner: $14K Saved, 60% Cost Cut (2026) — second migration story corroborating the savings ratio
- Hetzner Cloud Pricing — current per-tier pricing referenced in the comparison table
- DigitalOcean Pricing — current droplet pricing referenced in the comparison table
Bottom line
The April 2026 price hike was Hetzner closing a gap that was always going to close: they were too cheap for the global semiconductor cycle they were absorbing. Even at the new prices, the math on a self-managed stack still lands in the same place: half to two-thirds off your DigitalOcean bill, with better silicon and more bandwidth thrown in. The catch: you have to like running your own databases, and you have to be okay with email-only support. If those two things are acceptable, the migration is one of the cleanest infrastructure wins of 2026. If they aren't, pay the DigitalOcean tax and ship features instead.
Top comments (0)