n8n Cloud Pricing vs Self-Hosting n8n on a $5 VPS

Nick Potts, who builds Ployz. Published , updated .

n8n Cloud costs €20 a month for 2,500 executions, €50 for 10,000 and about €121 for 50,000, all billed annually (n8n pricing). Self-hosted n8n is free under its license, so the bill is the server: a Hetzner CX23 is $7.09 a month, and it doesn't care how many executions you run. The gap is $15.51 a month at the bottom and $125.92 a month at 50,000 executions.

That doesn't make self-hosting the right call for everyone. Below are the official prices, worked bills at three volumes, a calculator, what the license actually allows, what you give up, and the exact setup I'd use to run n8n on my own server.

Prices checked 2026-10-01. n8n prices are in euros on their site. Where I show dollars, I converted at the ECB rate for that day, 1 EUR = 1.1298 USD. Hetzner prices exclude VAT.

How do I work out my own n8n bill?

Move the slider to your monthly production executions. The Cloud rows pick the smallest plan that fits: Starter up to 2,500, Pro 10K up to 10,000, Pro 50K up to 50,000. The server rows stay flat because a self-hosted n8n has no execution quota.

  • n8n Cloud, billed annually$56/mo

    Starter €20, Pro 10K €50, Pro 50K €1,450/yr, converted at 1.1298

  • n8n Cloud, billed monthly$68/mo

    Starter €24, Pro 10K €60, Pro 50K €145

  • Your own server + Ployz$7/mo

    2 vCPU, 4 GB RAM, IPv4 included. n8n + Postgres on one server, free HTTPS address

  • Your own server + Ployz, custom domain$16/mo

    Same server, plus $9/month for a custom domain on Ployz Cloud

Prices checked 2026-10-01. Move the sliders to match your app.

What the calculator leaves out: your time, and n8n's AI credits. Cloud plans include Assistant credits and "AI models without API keys". On a self-hosted instance you bring your own API key for Assistant, and you pay the model provider directly.

How much does n8n Cloud cost in 2026?

n8n Cloud has two self-serve plans: Starter at €24 a month (€20 if billed annually) for 2,500 executions, and Pro at €60 a month (€50 annually) for 10,000. Pro also has a 50,000-execution tier at €145 a month or €1,450 a year. Above that, n8n Cloud means Enterprise, which is a sales call. Every plan includes unlimited users, workflows and integrations.

PlanHosted byExecutions / monthMonthly billingAnnual billing (per month)
Startern8n2,500€24€20
Pro (10K)n8n10,000€60€50
Pro (50K)n8n50,000€145€120.83 (€1,450/yr)
BusinessYou (self-hosted only)40,000€800€667
Enterprisen8n or youCustomContact salesContact sales
Community editionYouNo limitFreeFree

The limits that matter besides executions, all from the pricing page:

LimitStarterProEnterprise
Concurrent executions520 (10K) / 50 (50K)200+
Max execution duration5 min40 min40 min
Saved executions2,50025,00050,000
Execution log retention7 days30 daysUnlimited
Shared projects13Unlimited
Assistant credits / month1,600up to 9,600n/a
SupportForumForumDedicated, with SLA

The 5-minute cap on Starter is the one people hit first. A workflow that pages through a slow API or waits on an LLM can run past it.

The Business plan is the odd one out. It's €667 a month and you host it yourself. You pay for features like SSO, Git version control and multiple environments, not for hosting. n8n says it's not available on Cloud yet.

What counts as an execution in n8n?

An execution is one complete run of a workflow, no matter how many steps it has or how much data it moves. A 40-node workflow that runs once is one execution. Only production executions count toward the quota: runs started by triggers, schedules or polling. Clicking "Execute workflow" in the editor while you build doesn't count (n8n docs).

This is the good part of n8n's pricing. Zapier and Make bill per task or operation, so a long workflow costs more every time it runs. n8n bills per run.

The bad part is schedules. n8n's own pricing FAQ says a workflow that runs every 5 minutes uses about 8,600 to 8,900 executions a month (pricing FAQ). One Schedule Trigger that fires every 5 minutes eats most of a 10,000-execution Pro plan by itself, because a schedule counts every time it fires, whatever the outcome. Polling triggers like the Google Drive Trigger are kinder: they only count when they find new data (n8n docs). Sub-workflows called from a parent don't count either.

Quick estimate before you pick a plan:

  • A daily schedule: 30 to 31 executions a month.
  • Every hour: about 730.
  • Every 5 minutes: about 8,700.
  • A webhook: one execution per incoming request, even an empty one.

What does n8n cost at 2,500, 10,000 and 50,000 executions a month?

At 2,500 executions a month, n8n Cloud is $22.60 a month and a self-hosted server is $7.09. At 10,000 it's $56.49 vs $7.09. At 50,000 it's $136.51 vs $10.59, because I'd move to a bigger server for headroom. These use n8n's annual prices. Pay monthly and Cloud costs 20% more.

Executions / monthn8n Cloud planCloud, annual (per month)Cloud, monthlyOwn serverSelf-hosted totalYou save per year (vs annual)
2,500Starter€20 = $22.60€24 = $27.12Hetzner CX23$7.09$186
10,000Pro 10K€50 = $56.49€60 = $67.79Hetzner CX23$7.09$593
50,000Pro 50K€120.83 = $136.51€145 = $163.82Hetzner CX33$10.59$1,511

Server prices are from Hetzner's cost-optimized cloud page: the CX23 (2 vCPU, 4 GB RAM, 40 GB NVMe) is $6.49 plus $0.60 for its IPv4 address. The CX33 (4 vCPU, 8 GB, 80 GB) is $9.99 plus $0.60. In euros that's €5.99 and €8.99 with IPv4. These run in Hetzner's EU locations, and they're the prices after Hetzner's 15 June 2026 price adjustment.

Netcup is the other provider I'd look at, and often the better deal: its VPS 500 (2 vCPU, 4 GB RAM, 64 GB SSD, traffic included) is €8.26 a month incl. VAT on a 12-month term, with datacenters in Europe and Manassas in the US (netcup VPS plans).

If you want n8n on your own domain through Ployz, add $9 a month for a custom domain on Ployz Cloud. That still leaves the 10,000-execution case at $16.09 vs $56.49.

Above 50,000 executions, n8n Cloud has no public price. The self-hosted server doesn't change. What changes is how much CPU your workflows burn, which depends on what they do, not on how many times they run.

How much does it cost to self-host n8n?

Self-hosting n8n costs whatever the server costs, because the Community edition is free and has no execution limit. For one person or a small team, that's a $7.09 Hetzner CX23 running n8n and Postgres side by side. Some guides quote $200 to $800 a month for self-hosting. That's a staffing estimate for a company, not a server bill.

The real costs, in the order I'd think about them:

  1. The server. $7.09 a month for a CX23. I'd only go bigger if the workflows do heavy work themselves: big files, long Code nodes, lots of parallel runs.
  2. Your time. Updates, backups and fixing it when it breaks. With a deploy tool doing the server setup, I'd budget an hour to set it up and a few minutes per update.
  3. AI usage. You pay OpenAI or Anthropic directly instead of using bundled credits.
  4. A paid license, only if you need it. Business features (SSO, Git, environments) cost €667 a month and up, self-hosted or not.

Is n8n free if you host it yourself?

Yes, for most people. The self-hosted Community edition is free under n8n's Sustainable Use License. You can use it for your own business's internal purposes, for personal projects, and for non-commercial use, with no execution or workflow limits. It's source-available, not open source, so a few commercial uses need a paid agreement with n8n.

n8n's license FAQ puts it in one line: "If workflows are only created or modified by you or people in your organization, you can use n8n under the Community license for free."

What it explicitly allows:

  • Running your business on it, and using it for personal projects, learning or research.
  • Building automations for clients on your instance, as long as the clients can't create or edit them.
  • Charging clients for building, setting up and maintaining workflows, and for training and consulting.
  • Using n8n behind the scenes in your own product, where users trigger automations you built, even with their own connected accounts.
  • Running several instances.

So "is n8n free for personal use?" is an easy yes. Self-hosted for your side projects, it costs nothing beyond the server.

What can't you do with the free self-hosted n8n?

You can't sell n8n itself. The license FAQ rules out hosting n8n as a service where clients build their own workflows, letting your product's users build or configure workflows (through a custom UI, the API, MCP or an AI agent), forking n8n into your own automation product, white-labeling it, and using license-key features without a paid license (license FAQ).

The test n8n uses is who controls the workflow logic, not whose credentials are involved or whether the user sees n8n's UI. If your customers are paying for the ability to build automations, you need an Enterprise license. If they're paying for your product and n8n runs quietly underneath, you're fine.

Then there are the paid features. Code in files with .ee. in the name is under the separate n8n Enterprise License, and these features stay locked without a key. According to n8n's edition comparison, the Community edition doesn't include:

  • Projects, and sharing workflows or credentials with other users (only the owner and the creator can access them)
  • SSO with SAML or LDAP
  • Environments and Git version control
  • Custom variables and external secrets
  • Log streaming (plain logging is included)
  • External storage for binary data
  • Multi-main mode (queue mode is included)

A free registration with your email unlocks folders, debug in editor, and custom execution data. If you're one person, almost none of the locked list matters. If you're a team that needs to share credentials, it matters a lot, and that's where n8n Cloud Pro, with 3 shared projects and admin roles, earns its price.

What do you lose by self-hosting n8n?

You lose four things: managed upgrades, support, a few team features, and someone else being on call. n8n Cloud lets you pick a release track and update from a settings page with a one-to-two-minute restart (n8n docs). Self-hosted, upgrades, backups and security patches are your job, and the help you get is the community forum.

In more detail:

  • Upgrades. n8n ships a new minor version most weeks (Docker docs). You decide when to take them, and n8n recommends a full backup before each one.
  • Support. Starter and Pro on Cloud only get forum support too. Dedicated support with an SLA is Enterprise-only, hosted or self-hosted. So on the two plans a solo developer would buy, self-hosting costs you no support.
  • Sharing. Cloud Starter and Pro include shared projects. The free Community edition doesn't.
  • Bundled AI. Cloud plans include Assistant credits and AI models without your own API key.
  • Uptime. If your server goes down at 3am, your webhooks fail until you fix it. With Cloud, that's n8n's problem.

What you gain, besides the price: no 5-minute or 40-minute execution timeout unless you set one, no concurrency cap beyond your hardware, your data on your own server, and features the pricing page marks "available in self-hosted", like custom nodes and running bash scripts.

How do I self-host n8n on my own server with Ployz?

You need four things: the official n8nio/n8n Docker image, a Postgres database, an HTTPS address (webhooks from Stripe, GitHub and most other services won't call plain HTTP), and a volume for /home/node/.n8n, where n8n keeps its encryption key. Here's how I set that up with Ployz on a Hetzner server.

I build Ployz, so take this section as one way to do it. The same five pieces work with plain Docker on any server.

1. Install Ployz on the server. Point it at a fresh Linux server you can SSH into as root:

ployz up --server root@your-server

This installs Ployz on the server and connects it to Ployz Cloud, where the dashboard lives.

2. Add Postgres. In the dashboard, add the one-click Postgres preset. It's a regular service with a volume, not a managed database. Its password is sealed, so n8n reads it, the host, the user and the database name through references.

3. Add n8n from its image. Add a service from the Docker image n8nio/n8n, listening on port 5678. Give it an HTTPS address. Then add a volume and mount it at /home/node/.n8n.

4. Set the variables. These names come from n8n's database, deployment and reverse proxy docs. The ${{ postgres.… }} values are references to the Postgres service's variables: untick Sealed for those, since a sealed value can't hold a reference, and the password stays hidden anyway. Seal the encryption key.

DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=${{ postgres.PGHOST }}
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=${{ postgres.PGDATABASE }}
DB_POSTGRESDB_USER=${{ postgres.PGUSER }}
DB_POSTGRESDB_PASSWORD=${{ postgres.PGPASSWORD }}
N8N_ENCRYPTION_KEY=<output of: openssl rand -hex 32>   # secret, keep a copy
N8N_HOST=n8n.example.com
N8N_PROTOCOL=https
N8N_WEBHOOK_URL=https://n8n.example.com/
N8N_EDITOR_BASE_URL=https://n8n.example.com/
N8N_PROXY_HOPS=1
GENERIC_TIMEZONE=Europe/Berlin
TZ=Europe/Berlin

N8N_WEBHOOK_URL replaced WEBHOOK_URL in n8n 2.35.0. Without it, n8n builds webhook URLs from its internal port 5678 and registers addresses that nothing outside the server can reach. N8N_PROXY_HOPS=1 tells n8n it sits behind one proxy, which is Caddy on a Ployz server. GENERIC_TIMEZONE decides when your Schedule Trigger nodes fire.

Use the HTTPS address Ployz gives the service, or your own domain, for all four URL variables.

5. Deploy, then open the address and create the owner account. Add a health check on /healthz. Because n8n has a volume, Ployz restarts it on deploy instead of running old and new side by side, so expect a few seconds of downtime per update.

Do scheduled workflows need cron? No. Ployz has no cron or scheduled jobs, and n8n doesn't need them. The Schedule Trigger runs inside the n8n process, so as long as the service is up, your schedules fire on time.

How do I back up a self-hosted n8n?

Ployz doesn't back up databases, so this part is on you. A complete n8n backup has two pieces: the Postgres database, and the .n8n folder (or at least your N8N_ENCRYPTION_KEY). Without the key, credentials in a restored database can't be decrypted (n8n backup docs).

What I'd do:

  1. Save the encryption key somewhere outside the server, like a password manager. Do this on day one.
  2. Dump Postgres regularly and copy the file off the server:
pg_dump -h <postgres host> -U <user> -d <database> -Fc -f n8n-$(date +%F).dump
  1. Export workflows and credentials before every n8n upgrade, from inside the n8n container:
n8n export:workflow --backup --output=/home/node/.n8n/backups/workflows/
n8n export:credentials --backup --output=/home/node/.n8n/backups/credentials/

Writing them under /home/node/.n8n keeps them on the volume, so they survive a container restart. Copy them off the server too, because a volume on the same disk isn't a backup. These exports don't include users, execution history or variables, which is why the Postgres dump matters.

Since Ployz has no cron, the pg_dump has to run from somewhere that has one, like a cron job on another machine that connects over SSH and pulls the file off. Test a restore once. A backup you've never restored is a guess.

Should you use n8n Cloud or self-host n8n?

Use n8n Cloud if you don't want to own a server, you're under 2,500 executions and €20 a month doesn't matter to you, you need shared projects for a small team without paying for Business, or a webhook failing at 3am would be your problem with nobody else to fix it.

Self-host if you're past a few thousand executions a month (one 5-minute schedule already is), you run long workflows that would hit Cloud's 5- or 40-minute timeouts, you want your data on your own server, or you're comfortable running a Postgres dump on a schedule. At 10,000 executions, self-hosting saves about $590 a year. At 50,000 it saves about $1,500.

Don't self-host to get around the license. If your customers build their own workflows on your n8n, you need a commercial agreement with n8n whether it runs on their cloud or your server.

I build Ployz, which runs this n8n and Postgres setup on a server you rent and gives it an HTTPS address. It's free on your own servers.

Run the same app on a server you rent. Ployz is free on your own servers.

Deploy your app