macOS
brew install yasmlocal Homebrew formula metadata
sudo port install yasmMacPorts ports tree · lang/yasm/Portfile · source: api.github.com
brew
Modular BSD reimplementation of NASM. Version 1.3.0 via Homebrew; verified 2026-06-27.
install
brew install yasmlocal Homebrew formula metadata
sudo port install yasmMacPorts ports tree · lang/yasm/Portfile · source: api.github.com
sudo apk add yasmAlpine Linux edge package indexes · yasm · source: dl-cdn.alpinelinux.org
sudo apt install yasmDebian stable package indexes · yasm · source: deb.debian.org
sudo dnf install yasmFedora Rawhide package metadata · yasm · source: dl.fedoraproject.org
nix profile install nixpkgs#yasmnixpkgs package indexes · pkgs/by-name/ya/yasm/package.nix · source: api.github.com
sudo pacman -S yasmArch Linux sync databases · yasm · source: geo.mirror.pkgbuild.com
sudo zypper install yasmopenSUSE Tumbleweed package metadata · yasm · source: download.opensuse.org
choco install yasmChocolatey community package catalog · yasm · source: community.chocolatey.org
scoop install main/yasmScoop official bucket manifest trees · bucket/yasm.json · source: api.github.com
overview
Modular BSD reimplementation of NASM
history
Yasm is a modular assembler for x86 and AMD64 that began as a BSD-licensed rewrite of NASM. Its package-manager identity is unusually clear: it exists because build systems needed a portable NASM-like assembler that could emit the object formats, debug formats, and 64-bit code used by Unix, Windows, and macOS projects.
The Yasm manual says the project started in 2001 as a rewrite of the Netwide Assembler under the BSD license. Rather than being a drop-in clone only, Yasm was designed around modules for assembler syntaxes, object formats, debug formats, and instruction sets, which let it support NASM syntax while also adding GNU as syntax, AMD64 support, and multiple platform object formats.
Yasm's public GitHub repository describes itself as the mainline development tree and was created there in 2011, after the project had already been established through its own site and release tarballs. The current manual still presents the core command as yasm, with vsyasm for Visual Studio integration and ytasm as part of the toolkit.
Yasm became a common build dependency during the period when multimedia and codec projects leaned heavily on hand-written x86 assembly. FFmpeg's own development log records a later switch of the default x86 assembler from Yasm to NASM while preserving an option to use Yasm, which is a good marker of how central Yasm had been to that ecosystem.
Its adoption was strongest where projects wanted NASM-style source compatibility plus portable output: ELF for Unix, Mach-O for macOS, COFF/Win32/Win64 for Windows, and debug information for platform debuggers. That combination made it show up in package managers less as an end-user tool and more as the thing that quietly made optimized native packages build.
Typical use is direct assembly of NASM- or GAS-style input into an object file, often from a larger configure or make build. Users select output formats with flags such as -f, target machines with -m, parser syntax with -p, and debug formats with -g.
In practical packaging, Yasm is important when a source tree contains x86 assembly tuned for codecs, emulators, runtimes, or low-level libraries. A build may not expose Yasm to the final user at all, but failure to find it can disable assembly optimizations or stop old release branches from building.
Yasm is package-nerd plumbing: a small command-line tool whose importance is measured by how many other packages used to need it. It is also a useful example of a compatibility tool that gained adoption by matching an existing language, NASM syntax, while being friendlier to license and portability requirements.
Its later displacement by newer NASM releases in some projects is part of the story. Package collections keep Yasm because old build systems still ask for it, while newer projects may prefer NASM; knowing which assembler a package wants can explain otherwise opaque native-build failures.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
vsyasm | cli | global executable | |
yasm | cli | global executable | |
ytasm | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://www.tortall.net/projects/yasm/manual/html/
install metadata
| Package key | brew:yasm |
|---|---|
| Version | 1.3.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/yasm |
| Homepage | https://www.tortall.net/projects/yasm/manual/html/ |
| Repository | https://github.com/yasm/yasm |
| Upstream docs | https://www.tortall.net/projects/yasm/manual/html |
| License | BSD-2-Clause AND BSD-3-Clause AND LicenseRef-Homebrew-public-domain AND (Artistic-1.0-Perl OR GPL-2.0-or-later OR LGPL-2.0-or-later) |
| Source archive | https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz |
| Last updated | 2026-06-27T18:33:31-04:00 |
| Pulse | updated |
| Bottle | available (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | yasm |
| Version Scheme | 0 |
| Revision | 2 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
yasm 1.3.0-7
modular assembler with multiple syntaxes support
sudo apt install yasmyasm
nix profile install nixpkgs#yasmyasm 1.3.0-4
modular assembler with multiple syntaxes support
http://www.tortall.net/projects/yasm/
sudo apt install yasmyasm 1.3.0-r4
A rewrite of NASM to allow for multiple syntax supported (NASM, TASM, GAS, etc.)
http://www.tortall.net/projects/yasm/
sudo apk add yasmyasm-dev 1.3.0-r4
A rewrite of NASM to allow for multiple syntax supported (NASM, TASM, GAS, etc.) (development files)
http://www.tortall.net/projects/yasm/
sudo apk add yasm-devyasm-doc 1.3.0-r4
A rewrite of NASM to allow for multiple syntax supported (NASM, TASM, GAS, etc.) (documentation)
http://www.tortall.net/projects/yasm/
sudo apk add yasm-docyasm 1.3.0^20250625git121ab15-3.fc44
Modular Assembler
sudo dnf install yasmyasm-devel 1.3.0^20250625git121ab15-3.fc44
Header files and static libraries for the yasm Modular Assembler
sudo dnf install yasm-develyasm 1.3.0-9
A rewrite of NASM to allow for multiple syntax supported (NASM, TASM, GAS, etc.)
sudo pacman -S yasmyasm 1.3.0-9.5
A complete rewrite of the NASM assembler
sudo zypper install yasmyasm-devel 1.3.0-9.5
YASM development package
sudo zypper install yasm-develyasm
sudo port install yasmyasm
choco install yasmmain/yasm
scoop install main/yasmsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.