Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
Go to file
2026-06-29 08:10:44 +00:00
.agents/skills chore: Add guardrails and table output to human-like-code-review (#32943) 2026-06-24 14:01:36 +00:00
.claude chore: Add pnpm sync:skill-links alias (no-changelog) (#32382) 2026-06-16 13:39:01 +00:00
.devcontainer ci: Pin pnpm via packageManager and set PNPM_HOME (#31653) 2026-06-03 22:39:11 +00:00
.github feat(ai-builder): Re-run Instance AI evals against the PR head on demand (no-changelog) (#33148) 2026-06-29 06:00:43 +00:00
.opencode/skills/setup-mcps chore: Unify agent skill sources (no-changelog) (#30541) 2026-06-16 09:25:09 +00:00
.vscode fix(core): Force full execution data fetching for evaluation test runs (#27335) 2026-03-23 09:56:05 +00:00
assets
docker/images build: Bump n8n base image to Alpine 3.24 and unpin graphicsmagick (#32960) 2026-06-26 18:31:31 +00:00
docs refactor(core): Remove top-level agent description (no-changelog) (#32922) 2026-06-24 14:41:43 +00:00
packages fix(core): Stop the builder from re-running a workflow it just verified (no-changelog) (#33141) 2026-06-29 08:10:44 +00:00
patches fix(core): Align pdfjs-dist versions for PDF document loading (#31732) 2026-06-26 07:55:34 +00:00
scripts chore: Tune Stryker config and fail the gate on partial mutation runs (#33007) 2026-06-25 17:35:26 +00:00
security chore: Standardize license metadata across all first-party packages and tighten SBOM pipeline (no-changelog) (#31880) 2026-06-08 10:19:32 +00:00
.actrc
.aikido chore: Add Aikido scan configuration (no-changelog) (#32195) 2026-06-15 07:26:04 +00:00
.code-health-baseline.json chore(core): Require SQLite migration recreate acknowledgements (#31202) 2026-06-04 13:42:27 +00:00
.dockerignore chore(core): Add @n8n/engine HTTP server and harness (no-changelog) (#29913) 2026-05-08 14:08:11 +00:00
.editorconfig
.env.local.example refactor: Remove persistBuilderSessions feature flag (#27481) 2026-03-30 12:16:07 +00:00
.git-blame-ignore-revs
.gitattributes
.gitignore test: Route ADO-2372 expression-editor assertions through (#33132) 2026-06-26 20:46:47 +00:00
.npmignore
.npmrc chore: Remove shamefully-hoist (#32569) 2026-06-25 10:03:07 +00:00
.poutine.yml ci: Add MCP workflow evals CI (no-changelog) (#33019) 2026-06-26 08:53:01 +00:00
.prettierignore
.prettierrc.js
.tbls.postgres.yml chore(core): Make DB schema docs generation deterministic (#32373) 2026-06-16 11:35:33 +00:00
.tbls.sqlite.yml chore(core): Make DB schema docs generation deterministic (#32373) 2026-06-16 11:35:33 +00:00
AGENTS.md docs: Add concise comments guideline to AGENTS.md (#32553) 2026-06-18 09:31:11 +00:00
biome.jsonc chore: Ignore generated and vendored files in Biome formatter (#32346) 2026-06-15 21:56:18 +00:00
CHANGELOG.md 🚀 Release 2.28.0 (#32842) 2026-06-23 14:31:55 +03:00
CLAUDE.md
CODE_OF_CONDUCT.md
codecov.yml ci: Full nightly coverage report — unit + integration + E2E + Python merged into one lcov (no-changelog) (#31945) 2026-06-11 06:25:18 +00:00
CONTRIBUTING.md chore: Improve tbls availability for schema docs generation (#32244) 2026-06-15 11:45:29 +00:00
CONTRIBUTOR_LICENSE_AGREEMENT.md
cubic.yaml chore: Add guidance on dynamic object key handling in nodes (#31369) 2026-05-29 14:26:45 +03:00
jest.config.js fix(core): Bump file-type to 21.3.2 and migrate to its ESM API (#33096) 2026-06-26 13:14:58 +00:00
jest.coverage-excludes.js ci: Full nightly coverage report — unit + integration + E2E + Python merged into one lcov (no-changelog) (#31945) 2026-06-11 06:25:18 +00:00
lefthook.yml chore: Unify agent skill sources (no-changelog) (#30541) 2026-06-16 09:25:09 +00:00
LICENSE_EE.md
LICENSE.md
package.json fix(core): Bump file-type to 21.3.2 and migrate to its ESM API (#33096) 2026-06-26 13:14:58 +00:00
pnpm-lock.yaml fix(core): Bump file-type to 21.3.2 and migrate to its ESM API (#33096) 2026-06-26 13:14:58 +00:00
pnpm-workspace.yaml fix(core): Bump file-type to 21.3.2 and migrate to its ESM API (#33096) 2026-06-26 13:14:58 +00:00
README.md fix(ICalendar Node): Fix Convert to ICS failing when File Name option is set (#27712) 2026-04-08 15:15:17 +00:00
renovate.json chore: Audit and secure .github/scripts shadow dependencies (#27083) 2026-03-16 10:06:27 +00:00
SECURITY.md
tsconfig.json
turbo.json fix: Remove PLAYWRIGHT_BROWSERS_PATH from install-browsers turbo (#31856) 2026-06-08 08:49:30 +00:00
vitest.workspace.ts chore: Update node popularity data (#24145) 2026-01-12 13:57:43 +00:00

Banner image

n8n - Secure Workflow Automation for Technical Teams

n8n is a workflow automation platform that gives technical teams the flexibility of code with the speed of no-code. With 400+ integrations, native AI capabilities, and a fair-code license, n8n lets you build powerful automations while maintaining full control over your data and deployments.

n8n.io - Screenshot

Key Capabilities

  • Code When You Need It: Write JavaScript/Python, add npm packages, or use the visual interface
  • AI-Native Platform: Build AI agent workflows based on LangChain with your own data and models
  • Full Control: Self-host with our fair-code license or use our cloud offering
  • Enterprise-Ready: Advanced permissions, SSO, and air-gapped deployments
  • Active Community: 400+ integrations and 900+ ready-to-use templates

Quick Start

Try n8n instantly with npx (requires Node.js):

npx n8n

Or deploy with Docker:

docker volume create n8n_data
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

Access the editor at http://localhost:5678

Resources

Support

Need help? Our community forum is the place to get support and connect with other users: community.n8n.io

License

n8n is fair-code distributed under the Sustainable Use License and n8n Enterprise License.

  • Source Available: Always visible source code
  • Self-Hostable: Deploy anywhere
  • Extensible: Add your own nodes and functionality

Enterprise Licenses available for additional features and support.

Additional information about the license model can be found in the docs.

Contributing

Found a bug 🐛 or have a feature idea ✨? Check our Contributing Guide for a setup guide & best practices.

Join the Team

Want to shape the future of automation? Check out our job posts and join our team!

What does n8n mean?

Short answer: It means "nodemation" and is pronounced as n-eight-n.

Long answer: "I get that question quite often (more often than I expected) so I decided it is probably best to answer it here. While looking for a good name for the project with a free domain I realized very quickly that all the good ones I could think of were already taken. So, in the end, I chose nodemation. 'node-' in the sense that it uses a Node-View and that it uses Node.js and '-mation' for 'automation' which is what the project is supposed to help with. However, I did not like how long the name was and I could not imagine writing something that long every time in the CLI. That is when I then ended up on 'n8n'." - Jan Oberhauser, Founder and CEO, n8n.io