FlowKit

n8n vs Windmill: which tool should you self-host for automation in 2026?

Published 6 August 2026 · 8 min read

Two open source, self-hostable tools, two radically different answers to "how do we automate our processes?" n8n and Windmill increasingly cross paths in the searches of teams who want to escape Zapier or Make without losing control of their data. The problem: these aren't two variants of the same product. One is a visual canvas built to connect applications, the other a script runtime built to orchestrate code. Confusing the two leads to the wrong choice — and to a full rebuild six months later, since nothing migrates automatically from one to the other.

At FlowKit we build our workflow packs on n8n, as in our n8n vs Activepieces comparison. That bias doesn't rule out rigor: Windmill is a serious technical project, with real cases where it clearly wins. Here are the differences that actually matter.

Two answers to two different questions

n8n answers the question: "how can a technical-but-not-necessarily-developer person connect dozens of SaaS applications and build AI automations without writing a software project?" Its visual canvas assembles preconfigured nodes, its expressions let you manipulate data item by item, and its Code node accepts JavaScript or Python when no-code hits its limits.

Windmill answers a different question: "how does an engineering team run all its internal scripts — cron jobs, ad hoc endpoints, data pipelines — on a single platform, with real language tooling?" Every Python, TypeScript (Deno or Bun), Go, Bash or SQL script automatically becomes a typed form, an HTTP endpoint, a CLI command and a schedulable slot. Flows assemble these scripts into a DAG with branching, loops, error handling and approval steps — but the base unit remains code, not a visual node.

n8n's canvas is designed to be read and modified by someone who has never opened a terminal. Windmill's canvas assumes you already know how to write a script.

Licenses: fair-code vs AGPLv3, the nuance that matters

n8n is distributed under the Sustainable Use License, a fair-code model: the code is visible, self-hosting is free and unlimited for internal use (your own, your company's, or your clients' if you're a service provider), but reselling the service itself is restricted without a commercial agreement.

Windmill is distributed under the AGPLv3 license, an open source license recognized in the strict sense by the OSI — unlike n8n's fair-code. The trade-off of the AGPL is its network clause: if you modify Windmill and expose it to third parties through an online service, you must republish your modifications under the same license. Windmill complements this open core with a commercial enterprise edition adding SSO/SAML, audit exports and high availability — an open core model, not a 100% free-software project.

For an SMB or freelancer automating their own business internally, these license subtleties have, in practice, no real impact: both tools self-host for free. They mainly matter to a vendor who would want to redistribute either as a component of a commercial product — a marginal case for most readers of this comparison.

Execution: preconfigured nodes vs multi-language scripts

n8n lines up several hundred native nodes for common SaaS applications (CRM, email, storage, social networks), complemented by the universal HTTP Request node and an ecosystem of community nodes. Writing code remains possible via the Code node, but it's the exception, not the rule: most of an n8n workflow is built by configuring fields, not typing lines.

Windmill flips the logic: code is the rule. Every script gets automatic typing, an isolated execution environment, and — a strong technical argument from the vendor — a Rust-written backend claimed to be markedly faster on heavy loads than orchestrators like Airflow, according to benchmarks published by Windmill itself (worth verifying on your own workload before turning it into a decision criterion). For a team that already has Python scripts for scraping, data processing or internal API calls, Windmill absorbs them almost as-is and gives them a trigger, a scheduler and a UI for free.

AI and RAG: native framework vs a toolbox of scripts

This is where the gap widens the most, if your projects touch AI beyond a simple API call.

n8n ships a native AI Agent node capable of orchestrating an LLM with tools, conversational memory and structured outputs, along with built-in vector stores to assemble a full RAG pipeline — ingestion, embeddings, semantic search, sourced answers — without leaving the canvas. Models (OpenAI, Anthropic, Mistral, local Ollama…) swap in a click.

On Windmill, none of this exists natively. An AI agent or a RAG pipeline is built by writing a Python script that directly calls the providers' SDKs and a vector database, then orchestrated inside a flow. That's perfectly viable for a team that already codes in Python daily — and even offers finer control over each pipeline step — but it requires writing and maintaining yourself what n8n ships preconfigured.

Self-hosting and resources: two different profiles

Both tools deploy with Docker in a few commands. n8n runs comfortably on a modest VPS, while Windmill's multi-worker architecture (server, workers, optionally a native worker for native scripts) generally needs more RAM for a serious production deployment. Both rely on PostgreSQL for persistence and can scale, but not at the same starting infrastructure cost.

On documentation and community, n8n's age shows: years of discussion threads covering reverse proxy, HTTPS, backups and updates, plus our own Docker installation guide. Windmill, younger, has solid technical documentation but a smaller — still growing — volume of community field reports.

Learning curve: two user profiles, not two difficulty tiers

It's a common mistake to sum up this comparison as "n8n is easier, Windmill is more powerful." The reality is more nuanced: the two tools target different profiles, and each is easier for its target audience.

A non-developer employee who needs to connect a form to a CRM and send a Slack notification will move faster on n8n: the visual canvas spares them from learning a language's syntax. A backend developer who already has Python scripts in production, on the other hand, will often move faster on Windmill: they don't need to translate their logic into nodes, they paste it almost as-is.

An empirical study published in 2024 at the ACM/IEEE MODELS conferences (Guthardt, Kosiol and Hohlfeld, "Low-code vs. the developer: An empirical study on the developer experience and efficiency of a no-code platform," see on Google Scholar) compared, on an identical development task, professional developers and "citizen developers" with no programming experience using a no-code tool. Notable result: no significant difference in correctness or processing time between the two groups. In other words, n8n's no-code approach isn't a fallback for beginners that produces a lower-quality result — it's a different paradigm, not an inferior one. The real selection criterion isn't "who is more skilled," but "who will actually maintain this workflow in six months."

Comparison table

Criterion n8n Windmill
License Fair-code (Sustainable Use License) AGPLv3 + commercial enterprise edition (open core)
Paradigm Visual canvas, preconfigured nodes Code-first, multi-language scripts in a DAG
Languages JS/Python via Code node (secondary) TypeScript, Python, Go, Bash, SQL, PowerShell (central)
AI / RAG / agents Native and mature (AI Agent, memory, vector stores) Build-it-yourself via scripts and SDKs
SaaS integrations Several hundred nodes + universal HTTP Few preconfigured connectors, everything goes through code
Auto-generated UI/endpoints No (manual webhooks) Yes, automatic for every script
Primary audience Technical non-developers, SMBs Engineering teams, internal platforms
Minimum server resources A modest VPS is enough More generous RAM recommended in production
Community and documentation Very large, years of field reports Solid but younger

The verdict, by profile

  • An SMB or business team that wants to automate processes involving SaaS apps and AI, without pulling in a developer for every change: n8n, without hesitation. The visual canvas, integration depth and ready-to-use AI framework cover the vast majority of real needs.
  • An engineering team that already owns internal scripts and wants to orchestrate, schedule and expose them without rebuilding an in-house platform: Windmill deserves a genuine test. Its code-first approach maps directly onto what these teams already know how to do.
  • Still hesitating? Both deploy in under an hour with Docker. Rebuild the same small real process on both sides — a webhook that triggers an API call and a notification, for instance — and the right choice will impose itself more reliably than any comparison.

Common pitfalls

  • Choosing Windmill because it "looks more technical, so more serious": a tool's robustness is measured by how well it fits your actual needs, not by how much code it makes you write.
  • Choosing n8n while assuming it never involves code: the JS/Python Code node exists precisely for cases where no-code hits its limits — you're never blocked.
  • Ignoring who will maintain the workflow in six months: a DAG of Python scripts maintained by a single developer who then leaves the company quickly becomes a blind spot; a visual canvas stays readable by whoever comes next.
  • Comparing performance benchmarks without rerunning them on your own workload: numbers a vendor publishes about its own tests are no substitute for a trial with your real volumes.
  • Underestimating the rebuild cost of a wrong initial choice: no reliable converter exists between the two formats; a one-day test now beats a multi-week migration later.

In summary

n8n and Windmill aren't two competitors on the same turf: the former targets accessible, AI-packed automation for technical non-developers, under a fair-code license; the latter targets code orchestration for engineering teams, under an AGPLv3 license with an enterprise edition. For an SMB that wants to triage its emails, build a document assistant, or automate a business process without hiring a dedicated developer, n8n remains the reference. To see what "different paradigm" actually means, on a use case that pays for itself the first afternoon, the Inbox AI Pack (€79) ships a complete n8n workflow for AI-driven email triage and prioritization — without writing a line of code.

FAQ

Frequently asked questions

Is Windmill really more open source than n8n?

Windmill's license (AGPLv3) is indeed an OSI-recognized open source license, which n8n's fair-code Sustainable Use License is not. But AGPLv3 carries its own strong constraint: if you modify Windmill and expose the result to users over a network (for example by reselling it as a service), you must republish your modifications under the same license. For typical internal use — automating your own business or your clients' as a service provider — that clause doesn't concern you, and both tools self-host for free without any restriction that would get in your way. Windmill also reserves some features (SSO/SAML, audit exports, high availability) for a commercial edition: it isn't a 100% free-software project end to end either.

Can you migrate an n8n workflow to Windmill (or the other way around)?

No, not automatically. n8n models a workflow as a graph of visually configured nodes; Windmill models a flow as a DAG of scripts (Python, TypeScript, Go, Bash, SQL...). The formats are incompatible and no reliable converter exists. Migrating means rewriting the logic by hand in the new paradigm — one more reason to decide early rather than standardize and regret it later.

Which one should I pick for AI workflows with RAG and agents?

n8n, without much hesitation at the time of writing. Its native AI framework (AI Agent node, conversational memory, built-in vector stores, interchangeable models) lets you assemble a full RAG pipeline without writing a single line of orchestration code. On Windmill, an AI agent or a RAG pipeline is built by assembling Python scripts that call the providers' SDKs yourself (OpenAI, Anthropic, vector databases) — perfectly doable for a team that codes, but without n8n's ready-made agent building blocks.

Bundle FlowKit Complet

€269