Install Noir

Hak
Noir is a single binary with no runtime dependencies. Homebrew is the quickest way for most users, but pick whatever fits your system.

Homebrew (macOS and Linux)

The easiest option. Noir has an official Homebrew formula, so brew upgrade keeps it up to date too.

brew install noir
Shell completions for Zsh, Bash, and Fish are automatically installed.

Snapcraft (Linux)

Snap packages work across most Linux distros and auto-update in the background.

sudo snap install noir

Docker

Handy when you don't want to install anything on the host, or need Noir inside a CI/CD pipeline.

docker pull ghcr.io/owasp-noir/noir:latest

Scan the current directory:

docker run --rm -v $(pwd):/tmp ghcr.io/owasp-noir/noir:latest -b /tmp

Image tags follow the OCI/Docker convention without the v prefix, e.g. :0.30.0, :0.30, and :latest. (Versions up to v0.29.1 used the :vX.Y.Z form — update any pinned references.) All available tags are on the GitHub Packages page.

Nix

If you use Nix, install via Flakes:

nix profile add github:owasp-noir/noir
**Tip:** In Docker or restricted environments, you may need to enable experimental features. Use the command below.
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. Linux and macOS builds are provided.

  1. Download the archive for your platform (e.g., noir-linux-x86_64.tar.gz or noir-macos-universal.tar.gz).

  2. Extract:

    tar xzf noir-*.tar.gz
    
  3. Move to a directory on your PATH:

    sudo mv noir /usr/local/bin/
    
  4. 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.

  1. 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"
    
  2. Install:

    sudo dpkg -i "noir_${VERSION}_amd64.deb"
    
  3. Fix missing dependencies if needed:

    sudo apt-get -f install
    
  4. Verify:

    noir --version
    

Arch Linux (AUR)

Noir is officially published on the AUR. Install with your preferred AUR helper:

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.

  1. 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"
    
  2. Install:

    sudo rpm -i "noir-${VERSION}.x86_64.rpm"
    

    Or with dnf:

    sudo dnf install "./noir-${VERSION}.x86_64.rpm"
    
  3. Verify:

    noir --version
    

Alpine Package (.apk)

Alpine Linux users can use the .apk package from GitHub Releases. Both x86_64 and aarch64 are provided.

  1. 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"
    
  2. Install:

    sudo apk add --allow-untrusted "noir-${VERSION}-x86_64.apk"
    
  3. Verify:

    noir --version
    

Build from Source

For custom builds or contributing back to the project.

Requires [Crystal](https://crystal-lang.org/install/) programming language installed.
  1. Clone the repository:

    git clone https://github.com/owasp-noir/noir
    cd noir
    
  2. Install dependencies:

    shards install
    
  3. Build:

    shards build --release
    

    The compiled binary is at ./bin/noir.

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

Esc