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).
A quick guide to the five options in the generator above.
One command, nothing permanently installed. Best for a quick look or a throwaway test. Needs Node.js 18+.
Installs the n8n command for good so you can start it any time. Great for ongoing local building. Needs Node.js 18+.
Runs n8n in an isolated container that works the same everywhere. The recommended route for most local and server setups.
Defines n8n (and optionally PostgreSQL) in one file you can version and redeploy. Ideal for a team server.
No download at all. n8n hosts it, handles updates and backups, and you build in your browser. Fastest possible start.
Run locally, then use your browser's "Install app" on the localhost page to pin n8n as a standalone window.
Always get n8n from these first-party locations to avoid tampered builds.
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.
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.
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.
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.
$env:N8N_PORT="5679" $env:GENERIC_TIMEZONE="Asia/Colombo" npx n8n
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.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 -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.
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.
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.
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.
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.
# 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.
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.
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n n8nio/n8n
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.
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.
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:
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.
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.
# 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
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).
[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
sudo systemctl daemon-reload sudo systemctl enable --now n8n sudo systemctl status n8n
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.
# 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.
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.
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.
npx n8n, a global npm install, or Docker (see the Windows, Mac, and Linux sections above). The editor opens at localhost:5678.localhost:5678 (or your n8n Cloud URL) and click the install icon in the address bar. n8n then runs in its own standalone window with a Dock or taskbar icon the same convenience the desktop app offered.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.
A global install puts the n8n command on your PATH so you can launch it from anywhere.
# Install once npm install n8n -g # Start the editor (http://localhost:5678) n8n start
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.
npx n8n
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.
# Update to the latest version npm install n8n -g # Start with a temporary public webhook URL (dev only) n8n start --tunnel
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.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.
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.
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.
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.
pkg update && pkg upgrade pkg install nodejs npm install n8n -g n8n # Then open http://localhost:5678 in your Android browser
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.
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.
# Is the container running? docker ps # Follow the logs to watch it start docker logs -f n8n
-p 5679:5678, and open the new port.node -v and npm -v, and on Linux/macOS check that npm's global prefix is on your PATH.WEBHOOK_URL (and N8N_HOST/N8N_PROTOCOL) to your real domain the generator adds these when you toggle "Production domain" or use n8n start --tunnel for local development only.-v n8n_data:/home/node/.n8n so workflows and credentials survive restarts.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.