# Install upx with Homebrew, apk, chocolatey, dnf, MacPorts, Nix, pacman, zypper, scoop, winget

Compress/expand executable files. Version 5.2.0 via Homebrew; verified 2026-06-08. Also installable with nix: nix profile install nixpkgs#upx.

## Install

```sh
sudo av install brew:upx
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install upx
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install upx
```

  Evidence: MacPorts ports tree: archivers/upx/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add upx
```

  Evidence: Alpine Linux edge package indexes: upx from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install upx
```

  Evidence: Fedora Rawhide package metadata: upx from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#upx
```

  Evidence: nixpkgs package indexes: pkgs/by-name/up/upx/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S upx
```

  Evidence: Arch Linux sync databases: upx from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install upx
```

  Evidence: openSUSE Tumbleweed package metadata: upx from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install upx
```

  Evidence: Chocolatey community package catalog: upx from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','unikey'

- Scoop (92%):

```sh
scoop install main/upx
```

  Evidence: Scoop official bucket manifest trees: bucket/upx.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id UPX.UPX -e
```

  Evidence: Windows Package Manager source index: UPX.UPX from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:upx
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/upx>
- **Version:** 5.2.0
- **Source summary:** Compress/expand executable files
- **Homepage:** <https://upx.github.io/>
- **Repository:** <https://github.com/upx/upx>
- **Upstream docs:** <https://upx.github.io/>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/upx/upx/releases/download/v5.2.0/upx-5.2.0-src.tar.xz>
- **Last updated:** 2026-06-08T16:51:09Z
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- upx (cli)
- upx (alias)

## Build dependencies

- cmake
- ucl

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 5.2.0
- Package-manager updated: 2026-06-08
- Local data: ok
- Upstream repository: https://github.com/upx/upx
- info: No cached GitHub release or tag data was available.
## Project history and usage

UPX, the Ultimate Packer for eXecutables, is a long-running executable compressor. Its documentation describes a free, portable, high-performance packer that commonly reduces executable and DLL size while leaving packed programs self-contained.

### Project history

The UPX tree traces its lineage to earlier work by Markus Oberhumer and Laszlo Molnar in the 1990s, and the NEWS file marks version 0.05 on 26 May 1998 as the first public beta. Version 1.00 followed on 26 March 2000, after rapid expansion across DOS, Windows, Linux, and other executable formats.

### Adoption history

UPX became a standard tool in release engineering because it targets executable formats rather than source code or archive files. The project moved to GitHub with the 3.92 release in December 2016 and uses the GitHub Pages site as its current home page. The batch input lists wide package-manager coverage across Homebrew, Alpine, Fedora, Arch, MacPorts, Nix, Chocolatey, Scoop, winget, and openSUSE, reflecting cross-platform demand.

### How it is used

The core package-nerd workflow is direct and scriptable: run `upx` on a binary to pack it, use `-d` to unpack, `-t` to test, and `-l` to inspect compressed size and ratio. The documentation also discusses compression levels, `--best`, `--brute`, LZMA, overlay handling, environment-variable defaults, and format-specific caveats.

### Why package nerds care

UPX is significant because it sits at the boundary between packaging, binary distribution, reverse engineering, antivirus analysis, and embedded-size constraints. Maintainers care about its format support, reproducibility hazards, security context warning, unpackability, and the fact that modern operating-system changes can break old packing assumptions.

### Timeline

- 1998: Version 0.05 was the first public beta.
- 2000: Version 1.00 was released.
- 2006: 2.90 beta added LZMA support for many formats.
- 2016: Version 3.92 moved the project to GitHub and the upx.github.io home page.
- 2022: Version 4.0.0 switched to semantic versioning and added easier CMake source builds.
- 2025: Version 5.0.0 introduced major ELF changes including memfd_create support for SELinux enforcing mode.
- 2026: Version 5.2.0 added the cpm86/cmd format.

### Related projects

- The NEWS file says the first public beta drew on experience from DJP, lzop, and mfxpak. UPX also relates to executable-format ecosystems such as ELF, PE, Mach-O, DOS, and firmware/kernel image formats.

### Sources

- <https://github.com/upx/upx/blob/devel/NEWS>
- <https://github.com/upx/upx/blob/devel/README>
- <https://github.com/upx/upx/blob/devel/doc/upx-doc.txt>
- input source_facts.package-manager


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** upx
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - upx: normalized package name match | nixpkgs package indexes: pkgs/by-name/up/upx/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - upx - 5.2.0-r0: normalized package name match | Alpine Linux edge package indexes: upx from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Ultimate Packer for eXecutables | https://upx.github.io/
- apk - upx-doc - 5.2.0-r0: normalized package name match | Alpine Linux edge package indexes: upx-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Ultimate Packer for eXecutables (documentation) | https://upx.github.io/
- dnf - upx - 5.2.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: upx from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | Ultimate Packer for eXecutables | https://github.com/upx/upx
- pacman - upx - 5.2.0-1: normalized package name match | Arch Linux sync databases: upx from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Extendable, high-performance executable packer for several executable formats | https://github.com/upx/upx
- zypper - upx - 5.2.0-1.3: normalized package name match | openSUSE Tumbleweed package metadata: upx from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | The Ultimate Packer for eXecutables | https://upx.github.io/
- MacPorts - upx: normalized package name match | MacPorts ports tree: archivers/upx/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - upx: normalized package name match | Chocolatey community package catalog: upx from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','unikey'
- Scoop - main/upx: normalized package name match | Scoop official bucket manifest trees: bucket/upx.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - UPX.UPX: normalized package name match | Windows Package Manager source index: UPX.UPX from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://pkg.so/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://pkg.so/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://pkg.so/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [cmake](https://pkg.so/brew/cmake/) - Build dependency declared by Homebrew.
- [brotli](https://pkg.so/brew/brotli/) - Shares pkgdb curated category or tags: cli, compression, developer-tools.
- [libarchive](https://pkg.so/brew/libarchive/) - Shares pkgdb curated category or tags: cli, compression, developer-tools.
- [libdeflate](https://pkg.so/brew/libdeflate/) - Shares pkgdb curated category or tags: cli, compression, developer-tools.
- [zip](https://pkg.so/brew/zip/) - Shares pkgdb curated category or tags: cli, compression, developer-tools.
- [pigz](https://pkg.so/brew/pigz/) - Shares pkgdb curated category or tags: cli, compression, developer-tools.
- [zopfli](https://pkg.so/brew/zopfli/) - Shares pkgdb curated category or tags: cli, compression, developer-tools.
- [woff2](https://pkg.so/brew/woff2/) - Shares pkgdb curated category or tags: cli, compression, developer-tools.
- [bloaty](https://pkg.so/brew/bloaty/) - Shares pkgdb curated category or tags: binary-size, cli, developer-tools.
- [cargo-bloat](https://pkg.so/brew/cargo-bloat/) - Local package facts share a topical domain. Shared terms: binary, binary-size, cli, developer, developer-tools.
- [stuffbin](https://pkg.so/brew/stuffbin/) - Local package facts share a topical domain. Shared terms: cli, compress, compression, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/upx.yml](https://github.com/mxcl/pkgdb/blob/main/combined/upx.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
