n8n Download & Install Generator

Pick how you want to run n8n and customise the options this tool builds the exact, copy-ready command for you. Covers npx, global npm, Docker, Docker Compose, and the no-install cloud.

Note: the old n8n Desktop App for Mac/Windows has been discontinued and archived. The methods below are the current, supported ways to download and run n8n. To get a desktop-app feel, run it locally and install the localhost page as a browser app (PWA).

1. Choose a method

2. Options

The editor will be served on this port.
Sets schedule/cron timezone. Leave blank to use the default.
Production domain
Set host, HTTPS & webhook URL
Use PostgreSQL
Recommended for production (default is SQLite)

3. Your command

Which download method fits you?

A quick guide to the five options in the generator above.

npx just trying it

One command, nothing permanently installed. Best for a quick look or a throwaway test. Needs Node.js 18+.

npm global solo dev machine

Installs the n8n command for good so you can start it any time. Great for ongoing local building. Needs Node.js 18+.

Docker clean & portable

Runs n8n in an isolated container that works the same everywhere. The recommended route for most local and server setups.

Docker Compose production stack

Defines n8n (and optionally PostgreSQL) in one file you can version and redeploy. Ideal for a team server.

n8n Cloud zero ops

No download at all. n8n hosts it, handles updates and backups, and you build in your browser. Fastest possible start.

Desktop feel?

Run locally, then use your browser's "Install app" on the localhost page to pin n8n as a standalone window.

Official download sources

Always get n8n from these first-party locations to avoid tampered builds.

Download & install n8n by platform

Detailed guidance for Windows, macOS, Linux, building from GitHub source, the (discontinued) desktop app, the npm package, and Android. Use the generator above for a custom command, then follow your platform's notes below.

Windows Mac Linux GitHub Desktop npm Android

n8n download for Windows

Windows 10 & 11 · npm, Docker Desktop, or WSL2

There is no traditional .exe installer for n8n on Windows anymore the old downloadable Desktop App has been retired. Instead, Windows users run n8n in one of three well-supported ways, all of which open the editor in your browser at http://localhost:5678. Which one you choose depends on whether you would rather lean on Node.js, on Docker, or on a full Linux environment inside Windows. All three give you the identical n8n editor; they differ only in how the underlying server is launched and kept running.

Option 1 Node.js + npm Simplest

This is the most direct route on a fresh Windows machine. First install Node.js (the LTS release, version 18 or newer) from the official site using the Windows Installer (.msi). The installer adds both node and npm to your PATH and, if you tick the box during setup, the tools needed to compile native modules. Once Node is installed, open PowerShell or Windows Terminal and install n8n globally.

PowerShell install & start
npm install n8n -g
n8n start

After the first launch, open http://localhost:5678 in your browser and create the owner account when prompted. If you only want a one-off run without a permanent install, you can skip the global install entirely and use npx n8n, which downloads and runs the latest version on the spot. To set configuration such as the port or timezone on Windows, remember that PowerShell uses a different syntax for environment variables than Linux or macOS.

PowerShell set options then run
$env:N8N_PORT="5679"
$env:GENERIC_TIMEZONE="Asia/Colombo"
npx n8n
Common Windows snags. If the n8n command is "not recognised", close and reopen your terminal so the updated PATH loads, or restart Windows. If a script-execution error appears, you may need to allow local scripts with Set-ExecutionPolicy -Scope CurrentUser RemoteSigned. If port 5678 is already in use, pick another with $env:N8N_PORT. The first time a workflow uses a webhook, Windows Defender Firewall may pop up a prompt allow access for n8n to receive incoming requests.

Option 2 Docker Desktop

If you would rather keep n8n isolated from your system, install Docker Desktop for Windows, which uses the WSL2 backend under the hood. Once Docker is running, a single command pulls the official image and starts n8n. The named volume keeps your workflows safe across restarts and works cleanly on Windows without worrying about path translation.

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

Docker Desktop requires that virtualization is enabled in your BIOS and that WSL2 is installed, which the Docker installer will help you set up. This route is the most consistent across machines and is the closest local experience to how you would run n8n on a production server.

Option 3 WSL2 (Linux inside Windows) Power users

Many developers prefer to run n8n inside the Windows Subsystem for Linux for a genuine Linux environment. Install it with one command in an elevated PowerShell, reboot, then open your new Ubuntu shell and follow the Linux instructions further down this page. This gives you Linux-native performance and tooling while staying on a Windows laptop.

PowerShell (Admin) install WSL2
wsl --install
# Reboot, open "Ubuntu", then use the Linux steps below

Whichever option you pick, the end result is the same editor at localhost:5678. For a permanent personal setup, Docker or WSL2 are the most robust; for a five-minute trial, plain npx n8n is hard to beat.

n8n download for Mac

macOS · Apple Silicon & Intel · Homebrew, npx, or Docker

On macOS the story is similar to Windows: there is no signed .dmg application to drag into your Applications folder, because n8n is a server you run rather than a packaged desktop app. The good news is that Macs ship with a capable terminal and the install process is quick. Both Apple Silicon (M1/M2/M3/M4) and older Intel Macs are fully supported the official Docker image is multi-architecture, and Node.js runs natively on Apple Silicon.

Option 1 Homebrew + npm Recommended

The cleanest way to get Node.js on a Mac is through Homebrew, the popular package manager. If you do not already have Homebrew, install it with the official one-line script, then install Node and finally n8n.

Terminal Homebrew, Node, n8n
# 1. Install Homebrew (skip if already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 2. Install Node.js (LTS)
brew install node

# 3. Install and start n8n
npm install n8n -g
n8n start

Then open http://localhost:5678 and you are ready to build. If you would rather not install anything permanently, the npx n8n shortcut works on macOS exactly as it does elsewhere and is perfect for a quick evaluation.

Option 2 Docker Desktop for Mac

Install Docker Desktop for Mac (choose the Apple Silicon or Intel build to match your chip), start it, and run the same container command used everywhere else. The official image runs natively on arm64, so there is no emulation penalty on modern Macs.

Terminal Docker on macOS
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n n8nio/n8n

Make it feel like a Mac app

To get the look and feel of a native desktop application without any download, run n8n locally with either method above, open localhost:5678 in Chrome or Edge, and choose the install icon in the address bar (or File → Install this site as an app). n8n then opens in its own dedicated window with its own Dock icon effectively the desktop experience people remember from the old app, but always up to date with your local install.

Apple Silicon note: if you compiled custom community nodes that include native binaries, make sure they are built for arm64. The core n8n install and all standard nodes work out of the box on M-series Macs.

n8n download for Linux

Ubuntu, Debian, Fedora & more · Docker, npm, systemd

Linux is the natural home for n8n, since it is where most self-hosted production instances run. You have the same choices as other platforms, plus the ability to run n8n as a managed background service. For a server that other people will use, Docker (often with Docker Compose and PostgreSQL) is the recommended approach; for a personal machine, the npm route is perfectly fine.

Option 1 Docker Recommended for servers

Install Docker using your distribution's package manager or the convenience script from Docker, then run the container. For a long-lived server you will want it detached and set to restart automatically, plus a public host and HTTPS so webhooks resolve correctly. Use the generator at the top of this page to produce a command with your exact domain and database settings; a typical production run looks like this:

Terminal production Docker run
docker run -d --restart unless-stopped \
  --name n8n \
  -p 5678:5678 \
  -e N8N_HOST=n8n.yourdomain.com \
  -e N8N_PROTOCOL=https \
  -e WEBHOOK_URL=https://n8n.yourdomain.com/ \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

In front of this you would normally place a reverse proxy such as Nginx, Caddy, or Traefik to terminate TLS and forward traffic to port 5678. Caddy is especially convenient because it obtains and renews Let's Encrypt certificates automatically.

Option 2 npm install

If you prefer to run n8n directly with Node, install a current LTS version of Node.js (the nvm version manager is the easiest way to do this on Linux), then install n8n globally.

Terminal Node via nvm, then n8n
# Install nvm, then a Node LTS
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install --lts

# Install and run n8n
npm install n8n -g
n8n start

Run n8n as a systemd service

To keep an npm-based install running after you log out and to start it automatically on boot, wrap it in a systemd unit. Create a file at /etc/systemd/system/n8n.service with the contents below, adjusting the user and the path to the n8n binary (find it with which n8n).

/etc/systemd/system/n8n.service
[Unit]
Description=n8n workflow automation
After=network.target

[Service]
Type=simple
User=n8n
Environment=N8N_PORT=5678
Environment=GENERIC_TIMEZONE=Etc/UTC
ExecStart=/usr/bin/n8n start
Restart=always

[Install]
WantedBy=multi-user.target
Terminal enable the service
sudo systemctl daemon-reload
sudo systemctl enable --now n8n
sudo systemctl status n8n
For real production load, switch the database from the default SQLite to PostgreSQL and consider enabling queue mode with Redis and multiple worker processes so executions can scale horizontally. The generator above can add the PostgreSQL environment variables to your command or Compose file.

n8n download from GitHub (source)

Build from source · contributors & custom-node developers

n8n is open and source-available under a fair-code licence, and the full codebase lives on GitHub at github.com/n8n-io/n8n, where it has earned well over 190,000 stars. Downloading from GitHub makes sense in two situations: you want to contribute to n8n itself, or you want to develop custom nodes and run the platform from source so you can hack on it. For simply using n8n, the npm or Docker routes above are far easier building from source is the developer path.

The project is a monorepo that uses pnpm as its package manager and requires a current Node.js LTS (version 20 or newer is recommended). Enable pnpm through Corepack, clone the repository, install dependencies, build, and start.

Terminal build n8n from source
# Enable pnpm (ships with Node via Corepack)
corepack enable

# Clone the repository
git clone https://github.com/n8n-io/n8n.git
cd n8n

# Install dependencies and build
pnpm install
pnpm build

# Start n8n
pnpm start

If you are working on the product, pnpm dev starts n8n in development mode with hot-reloading of the editor and backend, which is the workflow most contributors use day to day. You can also download tagged releases as source archives from the GitHub Releases page if you need a specific historical version rather than the latest master.

Don't confuse repositories. The separate n8n-io/n8n-desktop-app repository the old Electron desktop wrapper has been archived and is read-only. Clone the main n8n-io/n8n repository above, not the desktop one, unless you specifically need to inspect the retired desktop code.

Building from source also unlocks custom node development: you can scaffold a new node, test it inside your local build, and package it as an npm module for use in self-hosted instances. The n8n documentation provides a dedicated node-builder guide and a starter template repository for this purpose.

n8n desktop app

Status: discontinued · modern alternatives below

This is one of the most common points of confusion, so it is worth being clear: the official n8n Desktop App is no longer available or maintained. n8n once shipped a downloadable desktop application for macOS and Windows, built on Electron, and you will still find it featured in older tutorials and YouTube videos. That project has since been archived its GitHub repository was made read-only and it is not recommended for new installs. If a guide tells you to "download the n8n desktop app", treat that guide as out of date.

The reason is straightforward: maintaining a separate desktop wrapper added overhead without offering much that a locally run instance does not already provide. Everything the desktop app did, you can now achieve with the supported methods, usually more reliably and always with the latest features.

How to get a desktop-app experience today

Bottom line: there is nothing to "download and install" as a classic desktop program anymore, and you are not missing out. A local install plus a PWA window delivers the same standalone-app feel while keeping you on a current, supported version of n8n.

n8n download via npm

Package: n8n on npmjs.com · Node.js 18+

The npm package is the canonical way to install n8n directly onto a machine without containers. n8n is published on the npm registry simply as n8n, and it is the same package whether you run it on Windows, macOS, or Linux. The only prerequisite is a supported version of Node.js version 18 or newer, with a current LTS release recommended which brings the npm command along with it.

Install globally

A global install puts the n8n command on your PATH so you can launch it from anywhere.

Terminal global install & run
# Install once
npm install n8n -g

# Start the editor (http://localhost:5678)
n8n start

Run without installing

If you do not want a permanent install, npx fetches and runs the latest n8n on demand. This is ideal for trying a new version or for ephemeral environments.

Terminal npx
npx n8n

Updating & webhooks

To upgrade a global install to the newest release, reinstall the package; npm replaces it in place. When you are testing webhook-based workflows locally and need a public URL that external services can reach, start n8n with the built-in tunnel flag handy for development, though never for production.

Terminal update & dev tunnel
# Update to the latest version
npm install n8n -g

# Start with a temporary public webhook URL (dev only)
n8n start --tunnel
Node version matters. Installing under an unsupported Node version is the single most common cause of npm install failures. If you hit errors, check node -v and switch to a current LTS using nvm (macOS/Linux) or nvm-windows makes juggling versions painless. On some systems you may also need build tools for native dependencies.

n8n download for Android

No official app · web/PWA, third-party clients, or Termux

There is no official n8n app on the Google Play Store, because n8n is a server application rather than a mobile app. That does not mean you are locked out on Android there are three practical ways to work with n8n from a phone or tablet, depending on whether you want to monitor, manage, or actually host it.

Option 1 Web app & PWA Easiest

Open your n8n instance's URL in Chrome on Android and the full editor loads. Because building workflows means dragging nodes around a wide canvas, the experience is tight on a phone, but it is fine for quick edits, checking executions, or flipping a workflow on or off. For a more app-like feel, use Chrome's menu and choose "Add to Home screen"; this installs n8n as a Progressive Web App with its own icon that launches full-screen, without browser chrome.

Option 2 Third-party companion apps

The community has built mobile clients that connect to your instance through the n8n API and focus on what you actually need on the go: monitoring whether workflows ran, alerting you to failed executions, activating or deactivating workflows, viewing execution metrics, and editing variables or settings such as timeouts. These work with both self-hosted and cloud instances. Because they are made by independent developers rather than n8n itself, review each app's requested permissions and privacy policy before pointing it at a production instance and entering an API key.

Option 3 Run n8n on Android with Termux Advanced

It is genuinely possible to run a full n8n instance on an Android device using Termux, a terminal-emulator app that provides a Linux environment. This is an enthusiast option performance is limited and it is not officially supported but it works for experimentation.

Termux install & run n8n on Android
pkg update && pkg upgrade
pkg install nodejs

npm install n8n -g
n8n
# Then open http://localhost:5678 in your Android browser
For day-to-day use, the most reliable pattern is to self-host n8n on a server or home machine and simply reach it from your Android browser or a companion app. That way the heavy lifting happens on capable hardware while your phone stays a lightweight remote control. Building complex automations is still best done on a laptop or desktop.

Verify your install & fix common issues

Works the same across Windows, Mac & Linux

No matter which platform or method you chose, the final checks are identical, because under the hood you are always running the same n8n server. Once the process has started, the terminal will print a line confirming that n8n is listening, and your browser should open or you open it manually at the editor address. On a first run, n8n asks you to create an owner account with an email and password; this becomes the administrator of your instance and is stored locally (or in your database), not sent anywhere.

Confirm it is running

Open http://localhost:5678 (or whatever port you configured) and you should see the n8n canvas. If you ran it in Docker detached mode, you can confirm the container is alive and watch its logs from the terminal.

Terminal check a Docker instance
# Is the container running?
docker ps

# Follow the logs to watch it start
docker logs -f n8n

Troubleshooting the usual suspects

If you get stuck, the official documentation and the community forum are the best places to search almost every platform-specific quirk has already been asked and answered there. And remember that because workflows are portable JSON, anything you build on one platform can be exported and re-imported on another, so you are never locked into the first install method you pick. You can start on Windows with npx today, move to a Dockerised Linux server tomorrow, and carry every workflow across unchanged.

Stay safe when downloading. Only install n8n from the official sources listed below the npm registry, Docker Hub (n8nio/n8n), or the n8n-io/n8n GitHub repository. Avoid unofficial "n8n installer" or "n8n.exe" downloads from third-party sites, which can bundle malware. n8n never ships as a random executable from a download portal.