Install Noir
Install OWASP Noir via Homebrew, Snapcraft, Docker, npm, Nix, AUR, .deb, .rpm, .apk, binary download (Linux, macOS, Windows), or from source.
Noir is a single binary with no runtime dependencies. Homebrew is the quickest way for most users, but pick whatever fits your system.
Every method below installs the same noir binary, so pick the one that fits your platform and skip the rest. They're ordered roughly easiest-first.
Homebrew (macOS and Linux)
The easiest option. Noir has an official Homebrew formula.
To install:
brew install noir
To update:
brew upgrade noir
Snapcraft (Linux)
Snap packages work across most Linux distros and auto-update in the background.
To install:
sudo snap install noir
To update manually:
sudo snap refresh noir
Docker
Handy when you don't want to install anything on the host, or need Noir inside a CI/CD pipeline.
To pull/update the latest image:
docker pull ghcr.io/owasp-noir/noir:latest
Scan the current directory:
docker run --rm -v $(pwd):/tmp ghcr.io/owasp-noir/noir:latest noir scan /tmp
Release images are tagged without the v prefix: :1.4.0, :1.4, :1, and :latest. The :main tag tracks the main branch. Versions up to v0.29.1 used the :vX.Y.Z form, so update any pinned references. All tags are on the GitHub Packages page.
npm (macOS and Linux)
If you already have Node.js 20 or later, install the @owasp-noir/noir package. It downloads the release binary for your platform during install and checks it against the SHA-256 pinned in the package.
To install:
npm install -g @owasp-noir/noir
To update:
npm update -g @owasp-noir/noir
Or run once without installing:
npx @owasp-noir/noir -h
Nix
If you use Nix, install via Flakes.
To install:
nix profile add github:owasp-noir/noir
To update:
nix profile upgrade noir
nix --extra-experimental-features "nix-command flakes" profile add github:owasp-noir/noir
Or run once without installing:
nix run github:owasp-noir/noir -- -h
Direct Binary Download
No package manager? Grab a prebuilt binary from GitHub Releases. Builds exist for Linux and macOS; Windows (x86_64) builds start with the first release after v1.4.0.
To install or update:
-
Download the binary for your platform (e.g.,
noir-v1.4.0-linux-x86_64on Linux,noir-v1.4.0-osx-arm64.tar.gzon macOS, ornoir-vX.Y.Z-windows-x86_64.exeon Windows). -
Linux: make it executable and move it into your
PATH:chmod +x noir-v*-linux-* sudo mv noir-v*-linux-* /usr/local/bin/noir -
macOS: extract the tarball and keep the bundled
lib/directory next to the binary:# system-wide install sudo mkdir -p /opt/noir sudo tar xzf noir-v*-osx-*.tar.gz -C /opt/noir sudo ln -sf /opt/noir/noir /usr/local/bin/noirFor a user-local install without
sudo, extract under~/.local/noirinstead and add~/.local/noirto yourPATH.The macOS archive ships OpenSSL libraries in
lib/; do not move only thenoirbinary without them. -
Windows: the
.exeis self-contained. Rename it tonoir.exeand put it in a folder on yourPATH. In PowerShell, for a per-user install:$dir = "$env:LOCALAPPDATA\noir" New-Item -ItemType Directory -Force $dir | Out-Null Move-Item -Force .\noir-v*-windows-x86_64.exe "$dir\noir.exe" [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$dir", "User")Open a new terminal so the updated
PATHtakes effect. To update later, run theMove-Itemline again with the new download (-Forcereplaces the oldnoir.exe). -
Verify:
noir --version
Debian Package (.deb)
Debian/Ubuntu users can use the .deb package from GitHub Releases. It integrates with dpkg/apt like any other system package. Both amd64 and arm64 are provided; the commands below use amd64, so swap in arm64 on ARM machines.
To install or update:
-
Resolve the latest version and download:
VERSION=$(curl -s https://api.github.com/repos/owasp-noir/noir/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') wget "https://github.com/owasp-noir/noir/releases/download/v${VERSION}/noir_${VERSION}_amd64.deb" -
Install or upgrade:
sudo dpkg -i "noir_${VERSION}_amd64.deb" -
Fix missing dependencies if needed:
sudo apt-get -f install -
Verify:
noir --version
Arch Linux (AUR)
Noir is officially published on the AUR.
To install or update:
yay -S noir
RPM Package (.rpm)
Fedora, RHEL, CentOS, openSUSE, and other RPM-based distros can use the .rpm package from GitHub Releases. Both x86_64 and aarch64 are provided; the commands below use x86_64, so swap in aarch64 on ARM machines.
To install:
-
Resolve the latest version and download:
VERSION=$(curl -s https://api.github.com/repos/owasp-noir/noir/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') wget "https://github.com/owasp-noir/noir/releases/download/v${VERSION}/noir-${VERSION}.x86_64.rpm" -
Install:
sudo rpm -i "noir-${VERSION}.x86_64.rpm"Or with
dnf:sudo dnf install "./noir-${VERSION}.x86_64.rpm"
To update:
-
Download the latest version as shown in the install step.
-
Upgrade:
sudo rpm -U "noir-${VERSION}.x86_64.rpm"Or with
dnf:sudo dnf upgrade "./noir-${VERSION}.x86_64.rpm" -
Verify:
noir --version
Alpine Package (.apk)
Alpine Linux users can use the .apk package from GitHub Releases. Both x86_64 and aarch64 are provided; the commands below use x86_64, so swap in aarch64 on ARM machines.
To install or update:
-
Resolve the latest version and download:
VERSION=$(curl -s https://api.github.com/repos/owasp-noir/noir/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') wget "https://github.com/owasp-noir/noir/releases/download/v${VERSION}/noir-${VERSION}-x86_64.apk" -
Install or upgrade:
sudo apk add --upgrade --allow-untrusted "noir-${VERSION}-x86_64.apk" -
Verify:
noir --version
Build from Source
For custom builds or contributing back to the project.
Install Crystal from crystal-lang.org first.
Windows: the build compiles the bundled Tree-sitter grammars with a small shell script. So besides Crystal for Windows, you also need Git for Windows (for sh) and clang (the "C++ Clang tools for Windows" component of Visual Studio Build Tools, or LLVM). Run the steps below from Git Bash. The binary is written to bin\noir.exe.
To install:
-
Clone the repository:
git clone https://github.com/owasp-noir/noir cd noir -
Install dependencies:
shards install -
Build:
shards build --releaseThe compiled binary is at
./bin/noir.
To update:
-
Pull latest changes:
git pull -
Install dependencies and rebuild:
shards install shards build --release
Verify Your Installation
Whichever method you chose, confirm Noir is installed:
noir --version
If you see a version number, you're ready.
Next: Your First Scan