Pricing Structure: What You Actually Pay

Hetzner's pricing is the most aggressive in the European market. Their CX-series shared vCPU instances run on AMD EPYC or Intel Xeon depending on availability, and the CCX dedicated vCPU line starts at €12.49/month for 2 dedicated cores and 8GB RAM. There are no hidden egress fees within their network, and outbound transfer is included up to a monthly cap - 20TB on the CX22, which is effectively unlimited for most workloads.

Vultr's model is more granular. They offer four compute families: Regular, High Frequency, Optimized Cloud Compute, and Bare Metal. The High Frequency line uses NVMe storage and runs on faster clock-speed CPUs, which matters for latency-sensitive apps. Vultr charges $0.01/GB for egress beyond the included transfer, which can add up on content-heavy setups. They also offer hourly billing down to the second for instances spun up and destroyed programmatically, which Hetzner does not match at the same granularity for their cheaper tiers.

For teams automating infrastructure with something like taskbotshub.ai, Vultr's API-first billing and per-second teardown is a real operational advantage. Hetzner's API is solid but their billing increments are hourly.

# Hetzner CLI: list current server types with pricing
hcloud server-type list

# Vultr CLI: list plans
vultr-cli plans list --type=vc2 | head -20

Raw Compute Performance: sysbench Results

We ran sysbench CPU and memory tests on both platforms using Ubuntu 24.04 LTS. On Hetzner CX22 (AMD EPYC, shared vCPU), sysbench prime number calculation to 20000 with 2 threads completed in 8.4 seconds. The Vultr High Frequency 2-core instance finished the same test in 6.1 seconds. The Vultr HF instances use Intel Ice Lake at higher base clock speeds, and it shows.

On Hetzner's dedicated CCX23 (2 dedicated AMD EPYC cores), the result was 7.1 seconds - better than the shared CX22 but still behind Vultr HF in raw single-thread speed. Where Hetzner wins is consistency. Across 20 consecutive runs, variance on Hetzner was under 3%. Vultr HF variance hit 11% on the same test, which suggests noisier neighbors or less predictable CPU scheduling during our test window.

For sustained, predictable workloads - build servers, batch processing, database servers - Hetzner's consistency matters more than Vultr's peak speed. For latency-critical apps where you need the fastest possible single-threaded response, Vultr HF has the edge.

# Run this on both platforms to reproduce
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run

# Memory throughput test
sysbench memory --memory-block-size=1M --memory-total-size=10G run

Disk I/O: NVMe vs SSD Matters Here

Hetzner's CX-series uses local SSD storage on a shared RAID array. It is not NVMe. Their CCX dedicated instances get faster local NVMe, but you pay for it. Vultr High Frequency includes NVMe on every instance regardless of tier.

We used fio to test sequential read/write and random 4K IOPS on both platforms:

Hetzner CX22 sequential read: ~540 MB/s, 4K random read: ~12,000 IOPS. Vultr HF sequential read: ~1,800 MB/s, 4K random read: ~48,000 IOPS. The NVMe advantage on Vultr HF is significant for database-heavy stacks, Elasticsearch, or anything doing heavy random I/O.

Hetzner's CCX43 (dedicated, 16 vCPU, NVMe) pulls ~1,600 MB/s sequential and ~44,000 4K IOPS, which is competitive with Vultr HF. But that instance costs €54.90/month. For I/O-intensive workloads on a budget, Vultr HF delivers better storage performance per dollar at the lower tiers.

# fio sequential read test - run as root
fio --name=seqread --rw=read --bs=1M --size=4G --numjobs=1 --iodepth=8 --runtime=60 --time_based --group_reporting

# 4K random read IOPS
fio --name=randread --rw=randread --bs=4k --size=4G --numjobs=4 --iodepth=64 --runtime=60 --time_based --group_reporting
// advertisement

Network: Location Coverage and Throughput

Hetzner operates data centers in Nuremberg, Falkenstein, Helsinki, Ashburn VA, Hillsboro OR, and Singapore. That is six locations. Vultr runs 32 locations globally including Tokyo, Sydney, Johannesburg, São Paulo, and Mumbai. If your users are distributed across Asia-Pacific or Latin America, Vultr wins by geography alone.

For intra-EU workloads, Hetzner's network is excellent. We measured internal bandwidth between two CX22 instances in the same datacenter using iperf3 and hit 9.8 Gbps consistently. Vultr's internal bandwidth on the same test in their New Jersey facility hit 9.6 Gbps - effectively the same. Cross-datacenter latency between Hetzner Nuremberg and Falkenstein was 2.3ms. Vultr's closest equivalent pair, New York to New Jersey, was 1.1ms.

External peering quality differs by region. Hetzner's DE-CIX peering is top tier for European traffic. Vultr has strong Equinix presence which benefits North American and Asia-Pacific routes. For a multi-region deployment, Vultr's network footprint is the clear operational advantage.

# Test internal bandwidth between two instances
# On server A (receiver):
iperf3 -s

# On server B (sender):
iperf3 -c  -t 30 -P 4

# Check external route quality
mtr --report --report-cycles 20 8.8.8.8

FreeBSD and OS Support

Hetzner offers FreeBSD only through their custom image feature. You bring your own ISO, boot into their rescue system, and install manually. There is no official FreeBSD template, no cloud-init integration out of the box, and no automated disk configuration. It works, but it requires manual effort on every new instance.

Vultr supports FreeBSD 13 and 14 as first-class operating system options with pre-built images. You can deploy a FreeBSD 14.1 instance via API in under 60 seconds. Cloud-init is functional, `bsd-cloudinit` is included, and your SSH keys land correctly on first boot. For BSD shops - or anyone running jails, bhyve hypervisors, or ZFS-heavy setups - Vultr is the obvious choice.

Vultr also supports Windows Server, and their marketplace includes one-click installs for Plesk, cPanel, and various control panels. Hetzner's App offerings are more limited and Linux-only. If your stack is purely Linux, this is not a differentiator. If you are managing mixed environments or need BSD support without manual ISO work, visit https://vultr.com/?ref=PLACEHOLDER to spin up a FreeBSD instance directly.

# On Vultr: deploy FreeBSD 14 via CLI
vultr-cli instance create \
  --region ewr \
  --plan vc2-2c-4gb \
  --os 1743 \
  --label fbsd-prod-01 \
  --ssh-keys 

# On Hetzner: manual FreeBSD install via rescue
# Boot into rescue, then:
wget https://download.freebsd.org/releases/amd64/14.1-RELEASE/FreeBSD-14.1-RELEASE-amd64-disc1.iso
# Then use qemu or dd to write to /dev/sda - non-trivial process

Control Panel, API, and DevOps Integration

Both platforms have solid REST APIs. Hetzner's API is clean, well-documented, and returns predictable JSON. Their Terraform provider (`hcloud`) is maintained officially and works reliably. Vultr's Terraform provider is also official and covers more resource types - load balancers, managed databases, object storage, and Kubernetes are all provisionable.

For Ansible, both have community-maintained dynamic inventory scripts. Hetzner's `hcloud` Python library is slightly more ergonomic for scripting. Vultr's API rate limits are 30 requests per second which is generous enough for automation. Hetzner's limits are less explicitly documented but we have not hit them in production scripts doing 500+ operations/hour.

If you are naming infrastructure systematically - hostnames, project identifiers, environment prefixes - tools like nicename.me can help generate consistent, readable names before you push resource definitions to either platform's API. It is a small detail but naming discipline at scale prevents headaches.

Vultr's managed Kubernetes (VKE) is production-ready as of 2026 with support for node pools up to 25 nodes on the standard tier. Hetzner's managed Kubernetes (HKS) is newer and limited to EU regions, but the price-per-node is significantly lower - roughly 40% cheaper for equivalent specs.

# Hetzner Terraform example
terraform {
  required_providers {
    hcloud = {
      source  = "hetznercloud/hcloud"
      version = "~> 1.49"
    }
  }
}

resource "hcloud_server" "web" {
  name        = "web-prod-01"
  image       = "ubuntu-24.04"
  server_type = "cx22"
  location    = "nbg1"
  ssh_keys    = [hcloud_ssh_key.default.id]
}

# Vultr Terraform equivalent
resource "vultr_instance" "web" {
  plan        = "vc2-2c-4gb"
  region      = "ewr"
  os_id       = 2284
  label       = "web-prod-01"
  ssh_key_ids = [vultr_ssh_key.default.id]
}
// advertisement

Support, SLA, and Reliability

Hetzner's SLA is 99.9% uptime on their cloud products. Support is ticket-based only - no phone, no live chat. Response times on tickets are typically 2-6 hours during European business hours. In our experience, technical quality of support responses is high when you get them, but urgency is relative to their queue. They have had two significant incidents in 2025 affecting Nuremberg infrastructure, both resolved within 4 hours.

Vultr's SLA is also 99.99% on compute. They offer 24/7 support with live chat on their business plans, and ticket response times are faster at around 30-90 minutes for non-critical issues. Their status page at status.vultr.com is more granular and updated more frequently than Hetzner's equivalent.

For startups or solo operators running non-critical infrastructure, Hetzner's support model is acceptable. For production SaaS with revenue at stake, Vultr's faster support access and marginally better SLA number is worth the cost premium. Neither platform provides dedicated account management below enterprise contracts.

# Monitor uptime from your server with a simple cron-based check
# Add to /etc/cron.d/uptime-check
*/5 * * * * root curl -fsS --max-time 10 https://yourapp.example.com || \
  echo "DOWN $(date)" >> /var/log/uptime-failures.log

Object Storage and Additional Services

Vultr Object Storage is S3-compatible and available in all 32 regions at $0.02/GB/month with $0.01/GB egress. It integrates with standard S3 clients without modification.

Hetzner Object Storage launched in 2023 and is available in Falkenstein and Nuremberg only. Pricing is €0.0119/GB/month stored, with 1TB free egress per month included - then €0.0119/GB. For pure cost on European workloads with high egress, Hetzner storage is cheaper. For global reach or S3-compatible workflows outside Europe, Vultr is more practical.

Hetzner also runs dedicated servers alongside their cloud products, which Vultr matches with their Bare Metal line. Hetzner's dedicated pricing is substantially lower - an AX41-NVMe (6-core AMD, 64GB RAM, 2x512GB NVMe) runs €39.90/month in 2026. Vultr's equivalent bare metal is $120/month minimum. If you need dedicated hardware, Hetzner wins that specific comparison by a large margin.

For teams running complex deployment pipelines and looking to automate cross-platform infrastructure decisions, taskbotshub.ai integrates with both Hetzner and Vultr APIs to handle provisioning workflows, cost alerts, and resource lifecycle management without building custom glue code.

# Configure rclone for Hetzner Object Storage
rclone config create hetzner-s3 s3 \
  provider=Other \
  endpoint=https://fsn1.your-objectstorage.com \
  access_key_id=YOUR_KEY \
  secret_access_key=YOUR_SECRET

# Configure for Vultr Object Storage
rclone config create vultr-s3 s3 \
  provider=Other \
  endpoint=https://ewr1.vultrobjects.com \
  access_key_id=YOUR_KEY \
  secret_access_key=YOUR_SECRET

# Sync a directory
rclone sync /var/backups hetzner-s3:my-bucket/backups --progress