We buy the servers we test with our own money. Some links are affiliate links; they never change a verdict. Disclosure · How we test
Hetzner CX vs CAX comes down to x86 against ARM at almost the same size. On our servers in Helsinki on 5 November 2026, the ARM CAX plans won sysbench by a factor of two to 3.5, but the x86 CX plans won more of the app tests that matter for self-hosting. The 4 vCPU CX33 beat the CAX21 on Llama 3.2 3B (13.5 against 12.2 tokens/s) and on n8n webhooks (31.93 against 25.77 executions/s), and it costs 2 euro less.
Why this matters now: after the 2026 price changes, ARM is no longer the cheap option at Hetzner. In the Hetzner Cloud API every CAX size now costs more than the CX of the same vCPU and RAM, so the old advice "take ARM, it is cheaper and faster" needs a recheck.
The short version of what we found: synthetic CPU scores flatter ARM. Pick by the app you will run, not by the benchmark chart.
Verdict
At 4 vCPU and 8 GB, take the CX33: it was faster than the CAX21 on n8n, Llama 3.2 3B and Llama 3.1 8B, and 2 euro cheaper. At 2 vCPU and 4 GB it is close: the CX23 for n8n, the CAX11 for small local models.
Tested in the Lab Hetzner CX23, CX33 (x86) · CAX11, CAX21 (ARM) · hel1 · Nov 2026
This comparison is part of our Hetzner hub. For the full lineup including the CX43, see the Hetzner review.
What CX and CAX are
Both are Hetzner's "Cost-Optimized" shared vCPU plans. Hetzner labels CX as "Intel/AMD" and CAX as "Ampere", says the line uses "older but reliable processor generations", and recommends it for "workloads that can handle variable CPU performance". A vCPU is one virtual CPU thread; "shared" means other customers' servers run on the same host.
The x86 side is a lottery. Our CX23 reported an Intel Xeon (Skylake) and our CX33 an AMD EPYC-Rome. Both CAX servers reported Neoverse-N1, an ARM core design, which Hetzner sells under the Ampere label. Hetzner's product page lists these plans for its EU locations only.
Prices: ARM now costs more at every size
| Size | CX (x86), net €/month | CAX (ARM), net €/month |
|---|---|---|
| 2 vCPU, 4 GB, 40 GB | CX23: 5.49 | CAX11: 5.99 |
| 4 vCPU, 8 GB, 80 GB | CX33: 8.49 | CAX21: 10.49 |
| 8 vCPU, 16 GB, 160 GB | CX43: 15.99 | CAX31: 20.99 |
| 16 vCPU, 32 GB, 320 GB | CX53: 29.49 | CAX41: 40.99 |
Prices from the Hetzner Cloud API for hel1 on 5 November 2026, excluding VAT and the 0.50 euro net primary IPv4. Gross prices for our account are in the full list below. According to Bitdoze's price history, the CX23 and CAX11 launched at 2.99 and 3.29 euro net, so the gap was small before 2026 and has grown since. See Hetzner price increase 2026 for the timeline.
Round 1: CX23 vs CAX11 (2 vCPU, 4 GB)
| Test | CX23 (x86) | CAX11 (ARM) |
|---|---|---|
| CPU reported | Intel Xeon Processor (Skylake, IBRS, no TSX) | Neoverse-N1 |
| Net price / month (API, 5 Nov 2026) | 5.49 € | 5.99 € |
| CPU 1 thread (sysbench events/s) | 913.87 | 3,248.26 |
| CPU all threads (events/s) | 1,823.05 | 6,549.84 |
| Memory (MiB/s) | 4,097.89 | 4,170.58 |
| Disk 4k random read (IOPS) | 53,050 | 48,554 |
| Disk 4k random write (IOPS) | 47,996 | 42,051 |
| Disk 1M seq. read (MB/s) | 2,965 | 2,370 |
| Disk 1M seq. write (MB/s) | 1,283 | 2,139 |
| Download, Helsinki (Mbit/s) | 6,332 | 6,794 |
| Download, Falkenstein (Mbit/s) | 285 | 567 |
| Download, CacheFly (Mbit/s) | 3,854 | 3,759 |
| Ping 1.1.1.1 (ms) | 1.429 | 2.416 |
| CPU steal (%) | 0.0 | 0.0 |
| Docker install (s) | 15.1 | 14.0 |
| Supabase image pull (s) | 110.7 | 99.1 |
| Supabase start (s) | 31.5 | 28.1 |
| Supabase RAM, whole system (MiB) | 1,594 | 1,564 |
| Supabase images on disk | 9.563GB | 10.14GB |
| Llama 3.2 1B (tokens/s) | 10.3 | 15 |
| Llama 3.2 3B (tokens/s) | 5.8 | 6.5 |
| Llama 3.1 8B (tokens/s) | did not run (out of memory) | did not run (out of memory) |
| n8n best throughput (executions/s) | 15.04 | 13.9 |
| n8n p95 at 50 concurrent (ms) | 3,954 | 4,114 |
| n8n start to healthy (s) | 90.8 | 64.4 |
The CAX11 scored 3,248.26 sysbench events/s on one thread against 913.87 on our Skylake CX23, about 3.5 times as much. In Ollama the CAX11 was ahead too, but by far less: 15 against 10.3 tokens/s on Llama 3.2 1B and 6.5 against 5.8 on Llama 3.2 3B. Tokens/s is how many word pieces the model writes per second.
In n8n the order flipped. Under ApacheBench with a webhook, Code node and response workflow, the CX23 reached 15.04 executions/s and the CAX11 13.9, with 0 failed requests on both. The x86 server also had faster random disk access (53,050 against 48,554 read IOPS, where IOPS means input/output operations per second). The ARM server pulled the Supabase images and started n8n faster.
Neither 4 GB server could run Llama 3.1 8B. The CAX11 failed with "insufficient memory (attempted to allocate 4402.48 MB)" and the CX23 was OOM-killed by the kernel after about 50 seconds.
Round 2: CX33 vs CAX21 (4 vCPU, 8 GB)
| Test | CX33 (x86) | CAX21 (ARM) |
|---|---|---|
| CPU reported | AMD EPYC-Rome Processor | Neoverse-N1 |
| Net price / month (API, 5 Nov 2026) | 8.49 € | 10.49 € |
| CPU 1 thread (sysbench events/s) | 1,620.94 | 3,307.34 |
| CPU all threads (events/s) | 6,453.15 | 13,210.45 |
| Memory (MiB/s) | 4,973.99 | 4,263.84 |
| Disk 4k random read (IOPS) | 41,644 | 53,796 |
| Disk 4k random write (IOPS) | 35,013 | 46,019 |
| Disk 1M seq. read (MB/s) | 1,936 | 2,490 |
| Disk 1M seq. write (MB/s) | 1,804 | 1,686 |
| Download, Helsinki (Mbit/s) | 7,201 | 7,097 |
| Download, Falkenstein (Mbit/s) | 781 | 381 |
| Download, CacheFly (Mbit/s) | 4,164 | 5,189 |
| Ping 1.1.1.1 (ms) | 1.556 | 1.739 |
| CPU steal (%) | 0.0 | 0.0 |
| Docker install (s) | 12.1 | 13.9 |
| Supabase image pull (s) | 49.6 | 52.3 |
| Supabase start (s) | 18.8 | 19.0 |
| Supabase RAM, whole system (MiB) | 1,732 | 1,712 |
| Supabase images on disk | 9.563GB | 10.14GB |
| Llama 3.2 1B (tokens/s) | 23.2 | 26.8 |
| Llama 3.2 3B (tokens/s) | 13.5 | 12.2 |
| Llama 3.1 8B (tokens/s) | 6.3 | 5.7 |
| n8n best throughput (executions/s) | 31.93 | 25.77 |
| n8n p95 at 50 concurrent (ms) | 1,846 | 2,197 |
| n8n start to healthy (s) | 50.9 | 56.5 |
Here sysbench gave the CAX21 13,210.45 events/s on all threads, twice the CX33's 6,453.15. Yet the CX33 was faster on Llama 3.2 3B (13.5 against 12.2 tokens/s), on Llama 3.1 8B (6.3 against 5.7) and on n8n (31.93 against 25.77 executions/s; p95 at 50 concurrent requests 1,846 against 2,197 ms, where p95 is the time 95 % of requests beat). The CAX21 won the smallest model (26.8 against 23.2 tokens/s on Llama 3.2 1B), the disk IOPS tests and sequential reads.
A likely reason is that sysbench's CPU test is a tight prime-number loop that suits the Neoverse-N1 cores, while LLM inference leans heavily on memory bandwidth, where the EPYC-Rome CX33 measured 4,973.99 MiB/s against 4,263.84 on the CAX21. That is our reading of the numbers, not something we isolated in a separate test.
All five plans on one chart
| Server | Concurrent requests | Executions/s | Median | p95 | Failed | n8n peak RAM |
|---|---|---|---|---|---|---|
| Hetzner CX232 vCPU · 4 GB · x86_64 | 1 | 10.1 | 104 ms | 162 ms | 0 | 520 MiB |
| Hetzner CX232 vCPU · 4 GB · x86_64 | 10 | 14.8 | 697 ms | 893 ms | 0 | 660 MiB |
| Hetzner CX232 vCPU · 4 GB · x86_64 | 25 | 15.0 | 1,651 ms | 1,936 ms | 0 | 825 MiB |
| Hetzner CX232 vCPU · 4 GB · x86_64 | 50 | 14.2 | 3,445 ms | 3,954 ms | 0 | 1,003 MiB |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 1 | 13.5 | 72 ms | 133 ms | 0 | 543 MiB |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 10 | 31.9 | 311 ms | 438 ms | 0 | 574 MiB |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 25 | 29.5 | 841 ms | 986 ms | 0 | 803 MiB |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 50 | 30.1 | 1,647 ms | 1,846 ms | 0 | 1,050 MiB |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 1 | 14.6 | 78 ms | 123 ms | 0 | 546 MiB |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 10 | 36.1 | 280 ms | 341 ms | 0 | 544 MiB |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 25 | 35.0 | 714 ms | 800 ms | 0 | 694 MiB |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 50 | 32.4 | 1,539 ms | 1,682 ms | 0 | 1,016 MiB |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 1 | 10.3 | 113 ms | 156 ms | 0 | 585 MiB |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 10 | 13.9 | 755 ms | 934 ms | 0 | 640 MiB |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 25 | 12.9 | 1,909 ms | 2,279 ms | 0 | 729 MiB |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 50 | 13.2 | 3,786 ms | 4,114 ms | 0 | 1,038 MiB |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 1 | 12.0 | 107 ms | 128 ms | 0 | 539 MiB |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 10 | 25.4 | 402 ms | 528 ms | 0 | 579 MiB |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 25 | 25.8 | 965 ms | 1,106 ms | 0 | 824 MiB |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 50 | 24.5 | 2,019 ms | 2,197 ms | 0 | 859 MiB |
Measured by AI Hosting Lab on 2026-11-05 · 5 servers · method · raw data
The CX43 (8 vCPU, AMD EPYC-Rome) is shown for context. We did not test a CAX31, so we have no ARM result at that size.
App compatibility on ARM
ARM servers run arm64 software only. Most popular self-hosting images now ship both builds, but check before you commit. Here is what we verified for the three apps we test:
- n8n: the official
n8nio/n8nimage on Docker Hub lists linux/amd64 and linux/arm64 for thelatesttag (checked 5 November 2026). Our compose withdocker.n8n.io/n8nio/n8n:2.46.6andpostgres:16ran on both CAX servers without changes. The n8n Docker docs do not mention ARM either way. More in n8n on ARM. - Supabase: the self-hosting docs give 4 GB RAM and 2 cores as the minimum and do not mention ARM. In our test the official docker compose stack started all 11 containers with 0 unhealthy on both the CAX11 and CAX21. The arm64 images used 10.14GB of disk against 9.563GB on x86.
- Ollama: the Linux docs include an "ARM64 install" section with a dedicated package. The standard
curl -fsSL https://ollama.com/install.sh | shinstaller worked on both our CAX servers, in 14.9 s and 24.2 s. See Ollama on ARM for model choices.
Where ARM still bites: n8n community nodes or Code node packages with native x86 binaries, older single-architecture images, and anything you compiled yourself. Before you move, run docker manifest inspect on each image you use and look for an arm64 entry.
Full Hetzner price list
| Plan | CPU | vCPU | RAM | Disk | Per month excl. VAT | Per month incl. 21% VAT | Per hour incl. VAT |
|---|---|---|---|---|---|---|---|
| CAX11 | arm | 2 | 4 GB | 40 GB | 5.99 € | 7.25 € | 0.0116 € |
| CAX21 | arm | 4 | 8 GB | 80 GB | 10.49 € | 12.69 € | 0.0203 € |
| CAX31 | arm | 8 | 16 GB | 160 GB | 20.99 € | 25.40 € | 0.0407 € |
| CAX41 | arm | 16 | 32 GB | 320 GB | 40.99 € | 49.60 € | 0.0795 € |
| CCX13 | x86 | 2 | 8 GB | 80 GB | 42.99 € | 52.02 € | 0.0834 € |
| CCX23 | x86 | 4 | 16 GB | 160 GB | 85.99 € | 104.05 € | 0.1667 € |
| CCX33 | x86 | 8 | 32 GB | 240 GB | 138.49 € | 167.57 € | 0.2685 € |
| CCX43 | x86 | 16 | 64 GB | 360 GB | 275.99 € | 333.95 € | 0.5352 € |
| CCX53 | x86 | 32 | 128 GB | 600 GB | 533.49 € | 645.52 € | 1.0346 € |
| CCX63 | x86 | 48 | 192 GB | 960 GB | 853.49 € | 1,032.72 € | 1.6550 € |
| CPX11 | x86 | 2 | 2 GB | 40 GB | 5.49 € | 6.64 € | 0.0106 € |
| CPX02 | x86 | 1 | 1 GB | 20 GB | 5.99 € | 7.25 € | 0.0116 € |
| CPX21 | x86 | 3 | 4 GB | 80 GB | 9.49 € | 11.48 € | 0.0184 € |
| CPX12 | x86 | 1 | 2 GB | 40 GB | 11.49 € | 13.90 € | 0.0223 € |
| CPX31 | x86 | 4 | 8 GB | 160 GB | 17.49 € | 21.16 € | 0.0339 € |
| CPX22 | x86 | 2 | 4 GB | 80 GB | 19.49 € | 23.58 € | 0.0378 € |
| CPX41 | x86 | 8 | 16 GB | 240 GB | 32.49 € | 39.31 € | 0.0630 € |
| CPX32 | x86 | 4 | 8 GB | 160 GB | 35.49 € | 42.94 € | 0.0688 € |
| CPX42 | x86 | 8 | 16 GB | 320 GB | 69.49 € | 84.08 € | 0.1348 € |
| CPX51 | x86 | 16 | 32 GB | 360 GB | 70.99 € | 85.90 € | 0.1377 € |
| CPX52 | x86 | 12 | 24 GB | 480 GB | 100.49 € | 121.59 € | 0.1948 € |
| CPX62 | x86 | 16 | 32 GB | 640 GB | 129.99 € | 157.29 € | 0.2520 € |
| CX23 | x86 | 2 | 4 GB | 40 GB | 5.49 € | 6.64 € | 0.0106 € |
| CX33 | x86 | 4 | 8 GB | 80 GB | 8.49 € | 10.27 € | 0.0165 € |
| CX43 | x86 | 8 | 16 GB | 160 GB | 15.99 € | 19.35 € | 0.0310 € |
| CX53 | x86 | 16 | 32 GB | 320 GB | 29.49 € | 35.68 € | 0.0572 € |
From the Hetzner Cloud API, location hel1, checked 2026-11-05. "Incl. VAT" is what our Czech (EU consumer) account pays; businesses and buyers outside the EU usually pay the price excl. VAT. Primary IPv4 is billed separately.
Which one to pick
CX23 (x86, 2 vCPU, 4 GB)
Best for: n8n on a budget; 15.04 executions/s at best, the cheapest of the four. Main drawback: CPU lottery; ours got Skylake. Skip it if: you mainly run small local models.
CAX11 (ARM, 2 vCPU, 4 GB)
Best for: Llama 3.2 1B or 3B on 4 GB, and predictable CPU. Main drawback: 0.50 euro more and slower on n8n than our CX23. Skip it if: any image you need lacks an arm64 build.
CX33 (x86, 4 vCPU, 8 GB)
Best for: n8n plus Supabase or a 3B to 8B model; it won most app tests in its round. Main drawback: lower disk IOPS than the CAX21 (41,644 against 53,796 random reads). Skip it if: your workload is disk-bound and arm64-ready.
CAX21 (ARM, 4 vCPU, 8 GB)
Best for: database-heavy stacks that like fast random IO. Main drawback: 2 euro more than the CX33 and slower on n8n and larger models. Skip it if: local LLMs or n8n throughput are the point.
Next step: if Hetzner's CX or CAX plans do not fit your region or budget, compare the options in Hetzner alternatives.
Hetzner prices on this page include 21% VAT, as charged to our Czech (EU consumer) account by the Hetzner API on 2026-11-05. Without VAT (businesses, most buyers outside the EU): CX23 5.49 €, CX33 8.49 €, CX43 15.99 €, CAX11 5.99 €, CAX21 10.49 € per month.
FAQ
Is Hetzner ARM (CAX) faster than x86 (CX)?
On sysbench, yes by a wide margin. In our app tests it depends: the CAX11 beat the CX23 on small Ollama models, but the CX23 handled more n8n webhook executions, and the CX33 beat the CAX21 on Llama 3.2 3B, Llama 3.1 8B and n8n.
Does n8n run on Hetzner ARM servers?
Yes. The official n8nio/n8n image on Docker Hub ships linux/amd64 and linux/arm64 builds, and our n8n 2.46.6 + Postgres 16 compose ran on both the CAX11 and CAX21 with 0 failed requests in our load test.
Does self-hosted Supabase work on ARM?
The Supabase self-hosting docs do not mention ARM, but the official docker compose stack started all 11 containers with 0 unhealthy on our CAX11 and CAX21. The ARM images took 10.14GB on disk against 9.563GB on x86.
Is CAX cheaper than CX?
Not any more. In the Hetzner Cloud API on 5 November 2026 every CAX size cost more than the CX with the same vCPU and RAM, for example 10.49 euro net for the CAX21 against 8.49 euro for the CX33.
Sources
- Hetzner, Cost-Optimized cloud servers (product page, opened 2026-11-05)
- Docker Hub, n8nio/n8n tag latest, architectures (checked 2026-11-05)
- Ollama Docs, Linux install incl. ARM64 (2026)
- Supabase Docs, Self-Hosting with Docker (2026)
- n8n Docs, Docker installation (2026)
- Bitdoze, Hetzner Cloud Pricing 2026: Price Hikes & CX Availability (2026)
- Spare Cores, A closer look at Hetzner Cloud's new CX servers (2024)



