n8n on an ARM server works out of the box: the official image is multi-arch, and our Hetzner ARM servers ran n8n 2.46.6 with the same compose file as x86. It is not faster, though. In our webhook load test the 2 vCPU ARM CAX11 peaked at 13.9 executions per second against 15.04 on the x86 CX23, and the 4 vCPU CAX21 at 25.77 against 31.93 on the x86 CX33.
Why this matters now: ARM VPS plans are often sold as the efficient, cheap choice, and the ARM guides we found online quote no measured n8n numbers. We ran the identical test on two ARM and three x86 servers. This page is part of our n8n hosting section.
Tested in the Lab Hetzner CX23, CX33, CX43, CAX11, CAX21 · n8n 2.46.6 · Nov 2026
Does the official n8n image support ARM?
Yes, 64-bit ARM. The tag list of n8nio/n8n on Docker Hub shows builds for linux/amd64 and linux/arm64, and n8n's Dockerfile on GitHub notes that its Node.js base image is pinned "for amd64 and arm64". Docker picks the right build for the server, so the image line is the same on both:
image: docker.n8n.io/n8nio/n8n:2.46.6
On our CAX11 and CAX21 that pulled and started with no changes, and so did postgres:16. We saw no 32-bit armv7 build in the official tag list; the armv7 images on Docker Hub come from third parties. We only tested n8n's built-in nodes. If you use community nodes, test them on ARM before you move.
ARM vs x86, same size, same test
All servers: Hetzner Cloud, Helsinki, Ubuntu 24.04, 5 November 2026. The ARM CAX line uses Ampere cores that report as Neoverse-N1. The workflow is webhook → Code node → response with n8n 2.46.6 and PostgreSQL 16, loaded with ApacheBench from the same server. Executions/s is completed workflow runs per second; p95 is the latency 95% of requests beat.
| Test | CX23 (x86) | CAX11 (ARM) | CX33 (x86) | CAX21 (ARM) |
|---|---|---|---|---|
| vCPU / RAM | 2 / 4 GB | 2 / 4 GB | 4 / 8 GB | 4 / 8 GB |
| Price / month (gross) | 6.64 € | 7.25 € | 10.27 € | 12.69 € |
| Best executions/s | 15.04 | 13.9 | 31.93 | 25.77 |
| Median at 1 concurrent | 104 ms | 113 ms | 72 ms | 107 ms |
| p95 at 50 concurrent | 3954 ms | 4114 ms | 1846 ms | 2197 ms |
| n8n idle RAM | 402.7 MiB | 405.9 MiB | 414.9 MiB | 413.7 MiB |
| Pull and start to healthy | 90.8 s | 64.4 s | 50.9 s | 56.5 s |
| Failed requests | 0 | 0 | 0 | 0 |
Bold marks the better result in each pair. ARM won only one row: the CAX11 got n8n up faster than the CX23. Idle RAM is the same on both architectures within a few MiB.
| 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
At 2 vCPU: close, x86 slightly ahead
The CX23 and CAX11 were within 8% of each other at their best (15.04 vs 13.9). The CX23 has an old Intel Skylake CPU, so this is the pairing where ARM should have won.
At 4 vCPU: x86 clearly ahead
The AMD-based CX33 did 24% more executions per second than the CAX21 (31.93 vs 25.77) and answered a single request in 72 ms against 107 ms. It is also the cheaper server.
Why a fast ARM CPU score did not help
In sysbench, the CAX11 scored 3248.26 events/s on one thread, 3.55 times the CX23's 913.87. On all threads it scored 6549.84, about the same as the 4 vCPU CX33 (6453.15). If CPU benchmarks predicted n8n, the CAX11 would match the CX33. It ran 13.9 executions/s; the CX33 ran 31.93.
What tracked n8n throughput in our data was the number of vCPUs, up to about four. In regular mode one n8n main process takes the webhooks and runs the executions (n8n queue mode docs), and Node.js runs JavaScript on one event loop per process (Node.js docs). Each execution also goes through a task runner process and writes to PostgreSQL. On 2 vCPU those processes compete for two cores however fast each one is. That is our reading; we did not measure CPU per process. Sysbench's prime-number loop also measures something narrower than a Node.js web server, so a high score does not carry over. The same pattern in Ollama, where ARM did win at 2 vCPU, is in Ollama on an ARM server.
When ARM is the better buy
- Your stack is already ARM, or you build and test arm64 images anyway. n8n will not be the problem.
- You mix n8n with a small local model on 2 vCPU. Our ARM CAX11 beat the CX23 on Llama 3.2 1B and 3B generation, so a small n8n + Ollama box is a fair case for ARM.
- Prices change. On a provider where ARM costs clearly less than x86 of the same size, the small throughput gap at 2 vCPU could be worth it. Other ARM clouds are not yet tested in our Lab; testing is scheduled.
When to stay on x86
- n8n is the main job of the server. At Hetzner the x86 plan was faster at both sizes and cheaper: 0.61 € a month less at 2 vCPU, 2.42 € less at 4 vCPU.
- You use community nodes or tools that you have not checked for arm64 builds.
- You want the most webhook headroom per euro. Our pick for that is in best VPS for n8n.
The wider comparison of both Hetzner lines, beyond n8n, is in Hetzner CX vs CAX.
Limits of this test
- One run per server, one light workflow, regular mode only. We have not tested queue mode on ARM or x86 yet.
- We have not tested the larger CAX31 and CAX41 for n8n.
- Load came from the same server, so network and TLS time are not included.
Next step: see the full method and every concurrency level in our n8n webhook performance report.
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
Does n8n run on ARM?
Yes. The official n8n Docker image is published for linux/amd64 and linux/arm64. On our Hetzner ARM servers the same compose file pulled n8n 2.46.6 and started it without any change.
Is n8n faster on ARM than on x86?
Not in our tests. At 2 vCPU the ARM CAX11 peaked at 13.9 webhook executions/s against 15.04 on the x86 CX23. At 4 vCPU the ARM CAX21 did 25.77 against 31.93 on the x86 CX33.
Can I run n8n on a Raspberry Pi?
On a 64-bit OS on supported hardware, the arm64 image applies. The official image lists no 32-bit armv7 build; the armv7 images on Docker Hub are third-party. We have not tested a Raspberry Pi.
Is ARM cheaper for n8n on Hetzner?
No, at current prices. The CAX11 costs 7.25 € a month against 6.64 € for the CX23, and the CAX21 12.69 € against 10.27 € for the CX33 (Hetzner Cloud API, 5 November 2026).



