If you spend any time in automation communities, you will see the same argument restart every week. Someone posts that they moved off n8n Cloud to a $5 server and cut their bill by 80 percent. Someone else replies that they did the same thing, then spent a Saturday in December restoring a database because a container update ate their credentials. Both people are telling the truth. They are just accounting differently.
This question keeps recurring across the n8n forum, the automation subreddits and every agency Slack I am in, and the reason it never resolves is that almost nobody puts the same items on both sides of the comparison. So here is the version I give clients: what each option actually costs, what it actually demands, and a rule you can apply in about five minutes.
n8n Cloud is the hosted product. You sign up, you build workflows, n8n runs the infrastructure. You are billed per month against a monthly execution allowance, not per seat and not per step.
Self-hosted n8n is the same software running on a machine you control, usually a small virtual private server from Hetzner, DigitalOcean, Vultr or AWS Lightsail, typically via Docker. There is no execution cap because there is no meter. There is also nobody on call but you.
There is a third option most comparisons skip, and I will come back to it, because for a lot of small businesses it is the right answer.
As of late 2026, n8n Cloud's entry tier sits around 20 EUR per month on annual billing, roughly $22 to $24, for about 2,500 executions per month. The Pro tier is around 50 EUR per month annually, roughly $55 to $60, for about 10,000 executions. Monthly billing costs around 17 percent more. All tiers include unlimited workflows, unlimited users and every integration, which matters more than people expect, because the seat-based pricing of competing tools is what usually makes them expensive.
Self-hosting on a small VPS runs $4 to $15 per month depending on provider and whether you pay for off-site backups. A Hetzner CX22 in Germany or Finland is about $5. An equivalent DigitalOcean droplet in a US region is closer to $12. Add a domain and a managed Postgres instance if you want one, and a realistic all-in figure is $10 to $30 per month.
On paper, self-hosting wins by a wide margin. That paper is incomplete.
Setting up a production-grade self-hosted n8n instance is not "docker compose up." It is Docker plus a reverse proxy, TLS certificates with auto-renewal, a Postgres database instead of the default SQLite, an encryption key you have backed up somewhere other than the server, firewall rules, SSH hardening, automatic security updates, off-site encrypted backups, and some way of knowing the thing has gone down before a client tells you.
Realistically that is 8 to 16 hours of first-time setup. Ongoing, the teams I know who actually track the time land at 1 to 3 hours per month: version upgrades, backup verification, log review, and the occasional workflow that quietly stops working after a minor release changes node behaviour.
Price that at a modest $60 per hour and the maintenance alone is $60 to $180 per month. Against a $24 cloud bill, self-hosting is now the expensive option by a factor of three. Price it at zero because you are a founder doing it on a Sunday, and self-hosting wins, but you have simply moved the cost from your bank account to your weekend.
The question is not "which is cheaper." It is "is my hour worth more than the difference." For a UK marketing agency billing 90 GBP per hour, it is not close. For a solo developer who already runs three servers and enjoys it, the marginal cost really is near zero.
Execution-based billing is fine until your workflow design makes executions cheap to generate. Three patterns blow through allowances faster than people expect:
The crossover point in my experience sits somewhere between 20,000 and 50,000 executions per month. Below that, cloud is usually cheaper once you count your time. Above it, self-hosting starts to win even after paying someone to maintain it, because the execution meter keeps climbing and the server cost does not.
Before you migrate for cost reasons, audit your executions. I have twice cut a client's usage by more than 70 percent by replacing polling with webhooks and batching items inside a single run. That is a two-hour job with no infrastructure risk attached.
For US small businesses this is usually a non-issue. For UK and EU companies, and for anyone touching health, legal or financial records, it is often the whole decision.
Self-hosting lets you state exactly where workflow data lives: a specific server, in a specific country, under your control. If you are answering a due diligence questionnaire or a DPA review, that is a much shorter conversation than explaining a third-party processor chain. n8n Cloud does offer EU-region hosting, which covers a lot of GDPR cases perfectly well, so self-hosting is not automatically required.
What matters more is the thing almost everyone forgets: hosting n8n yourself does not make the workflow private. If a self-hosted workflow sends customer records to a US AI model provider, a US transcription API and a US CRM, you have three cross-border transfers and a self-hosted orchestrator that changes none of them. I have reviewed "GDPR-safe" setups that were self-hosted in Frankfurt and shipping full contact records to four American vendors on every run.
If compliance is the reason you are considering self-hosting, map the data flow first. Self-hosting is one control among several: you still need a lawful basis, retention limits, access control, encrypted backups and processor agreements with every API in the chain. It also means you now own breach responsibility, which is a real liability transfer and not always in your favour.
Several providers now run n8n instances for you at roughly $7 to $25 per month. You get a dedicated instance with no execution cap, they handle updates, backups and uptime, and you get an admin panel instead of an SSH session. Elestio, Sliplane and a handful of others occupy this space, and some agencies offer it bundled with their build work.
For a small business that has outgrown the cloud starter tier but has nobody who wants to own a server, this is frequently the correct answer and it is barely discussed. The tradeoff is that you are trusting a smaller vendor with your automation layer, so check their backup policy and export path before you commit.
Work down this list and stop at the first line that matches you.
This is the same logic I apply when scoping AI automation services for clients. Infrastructure choices should follow the constraint that actually binds, not the one that is most fun to optimise.
Moving from cloud to self-hosted is exporting workflows as JSON and importing them, which takes an afternoon. What takes longer is everything around the workflows:
I have written elsewhere about why automations tend to fail in production rather than in testing, and hosting migrations concentrate almost every one of those failure modes into a single weekend. Treat it as a project, not an errand.
Self-hosting n8n is cheaper on the invoice and more expensive in attention. Cloud hosting is the opposite. For most small businesses and freelancers in the US, UK and EU running under 20,000 executions a month, cloud is the rational default, and the money you think you are saving by self-hosting is usually your own unbilled time. Self-host when a residency requirement, a volume threshold or a genuine technical need makes it necessary, and when someone is willing to own the server properly rather than heroically.
If you want a second opinion on your specific setup, that is the kind of question I answer for clients regularly. More about my background is on the page for Gideon Wafula, AI Automation Engineer.
Gideon Wafula builds custom AI automation systems, n8n, WhatsApp, Voice AI, and more.
See Services →