Hetzner bills the way it does for structural reasons, and the line item that surprises people is rarely the one on the pricing page they read first. This guide sets out what actually drives a Hetzner Online bill and what to do about it.
The shape of the bill
On Hetzner, there are almost no managed services: you get very good servers, a competent network and a firewall, and everything above that layer is yours to run. That structure is what determines whether your monthly figure is knowable in advance or only in arrears.
Before optimising anything, be clear which of the two situations you are in. A platform that meters everything rewards attention to usage; a platform with published monthly pricing rewards attention to what is left running.
What usually drives the number up
For Hetzner accounts, the recurring culprits are additional volumes, extra IPv4 addresses, and traffic beyond the (generous) included allowance.
Beyond the platform-specific items, the same short list applies almost everywhere:
- Unattached storage volumes. Deleting a server frequently does not delete its disk, and the disk carries on billing.
- Snapshots and backups. Automatic, incremental, and accumulating for as long as the retention policy allows.
- Reserved public IP addresses. Most platforms charge for an address that is allocated but not attached.
- Resources left running after a project ends. Usually the single largest avoidable item on any bill.
Make the bill visible before it is final
Use the account’s traffic and cost overview; flat monthly pricing means the bill is predictable by design. Set a figure, alert well below it, and route the alert to a person. This is free on every platform and it is the difference between noticing a problem in week one and noticing it in the invoice.
Region affects price too
Hetzner runs in Germany and Finland with a US presence — a short list chosen for price and power economics rather than global coverage. The same resource can cost meaningfully different amounts in different regions, so once latency and any data-residency requirement have narrowed the field, price is a legitimate tie-breaker between what remains.
Size against measurements, not intentions
The most reliable saving is not a discount, it is not running something you did not need. A method that works:
- Start smaller than you think. Scaling up is a reboot; over-provisioning is a bill you keep paying.
- Measure for a week under real traffic — CPU steal, memory pressure and disk wait, not just CPU utilisation.
- Resize against what you measured. Peak utilisation sitting under 20% is money going nowhere.
- Only then buy headroom, and buy it where the measurement pointed.
What vCPU actually means explains why the headline number is not the whole story.
Where to go next
- Getting started with a Hetzner account
- Buy Hetzner Account — every configuration in stock with its own price
- How cloud billing works — the platform-agnostic mechanics
- Hetzner documentation
Questions
Frequently asked
Why is my Hetzner bill higher than expected?
On Hetzner the usual causes are additional volumes, extra IPv4 addresses, and traffic beyond the (generous) included allowance, followed by resources nobody deleted after the project that needed them ended. Checking what exists against what is actually in use is the fastest way to find the difference.
How do I set a spending limit on Hetzner?
Use the account's traffic and cost overview; flat monthly pricing means the bill is predictable by design. Note that an alert warns you — it does not stop spending — so route it somewhere a person will see it the same day.
Does choosing a different region make it cheaper?
Often, yes — the same resource is priced differently by region. Weigh it after latency and any data-residency requirement, not before.
