Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
  • TypeScript 90.9%
  • Vue 7.5%
  • JavaScript 0.7%
  • SCSS 0.4%
  • Python 0.3%
Find a file
2026-06-18 07:42:31 +00:00
.agents/skills chore: Add pnpm sync:skill-links alias (no-changelog) (#32382) 2026-06-16 13:39:01 +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 ci: Remove Slack notification from Trivy container scan (no-changelog) (#32474) 2026-06-17 17:19:29 +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 ci: Revert path change for n8n-logo.png (#12874) 2025-01-28 08:49:33 +01:00
docker/images ci: Bump distroless runner base from cc-debian12 to cc-debian13 (#32331) 2026-06-16 10:40:27 +00:00
docs feat(core): Track binary data size on execution entity rows (no-changelog) (#32387) 2026-06-17 15:14:27 +00:00
packages chore: Extraneous deps cleanup (#32386) 2026-06-18 07:42:31 +00:00
patches refactor(editor): Move session state off workflows-store bridge (no-changelog) (#31138) 2026-05-28 11:51:24 +00:00
scripts chore: Unify agent skill sources (no-changelog) (#30541) 2026-06-16 09:25:09 +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 ci: Add blacksmith build step and cache restore (#19563) 2025-09-16 09:59:39 +01:00
.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 ci: Ensure that eslint runs on all frontend code (no-changelog) (#4602) 2022-11-15 18:20:54 +01:00
.env.local.example refactor: Remove persistBuilderSessions feature flag (#27481) 2026-03-30 12:16:07 +00:00
.git-blame-ignore-revs refactor(editor): Rename design-system unit test files and snapshots (no-changelog) (#11539) 2024-11-05 14:20:02 +02:00
.gitattributes fix: Add .gitattributes to preserve line endings (no-changelog) (#6442) 2023-06-15 14:31:35 +01:00
.gitignore feat(editor): Rewrite icon picker with search, full Lucide set, emoji sections, and color/skin tone pickers (#25649) 2026-06-16 08:55:15 +00:00
.npmignore build: Update ESLint to v9 (#16639) 2025-06-27 10:42:47 +02:00
.npmrc feat: Initial Dev Containers setup (no-changelog) (#8951) 2024-06-06 14:31:33 +02:00
.poutine.yml ci: Add poutine custom rule for unpinned GitHub Actions detection (#24577) 2026-01-20 15:10:04 +00:00
.prettierignore test: Remove cypress infrastracture (#21173) 2025-10-28 11:00:04 +01:00
.prettierrc.js 🎨 Set up linting and formatting (#2120) 2021-08-29 20:58:11 +02:00
.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 chore: Unify agent skill sources (no-changelog) (#30541) 2026-06-16 09:25:09 +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.27.0 (#32365) 2026-06-16 10:13:05 +00:00
CLAUDE.md chore: Move to AGENTS.md file with agent instructions (#22227) 2025-11-25 12:41:53 +01:00
CODE_OF_CONDUCT.md refactor: Format root-level files (#3858) 2022-08-19 15:34:02 +02:00
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 refactor: Format root-level files (#3858) 2022-08-19 15:34:02 +02:00
cubic.yaml chore: Add guidance on dynamic object key handling in nodes (#31369) 2026-05-29 14:26:45 +03:00
jest.config.js ci: Emit jest lcov and merge backend unit coverage in the nightly (no-changelog) (#32172) 2026-06-15 06:42:43 +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.md refactor(core): Mark all backend Enterprise Edition files and dirs (#12350) 2024-12-24 13:02:05 +01:00
LICENSE_EE.md docs(license): Introduce n8n Enterprise License (#3945) 2022-08-29 22:08:42 +02:00
package.json fix: Bump form-data, tmp, protobufjs to patched versions (#32436) 2026-06-17 08:13:41 +00:00
pnpm-lock.yaml chore: Extraneous deps cleanup (#32386) 2026-06-18 07:42:31 +00:00
pnpm-workspace.yaml chore: Extraneous deps cleanup (#32386) 2026-06-18 07:42:31 +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 chore: Revise security vulnerability reporting instructions (#21432) 2025-10-31 13:30:50 +01:00
tsconfig.json test: Remove cypress infrastracture (#21173) 2025-10-28 11:00:04 +01:00
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