macOS
brew install yqlocal Homebrew formula metadata
sudo port install yqMacPorts ports tree · textproc/yq/Portfile · source: api.github.com
brew
Process YAML, JSON, XML, CSV and properties documents from the CLI. Version 4.53.3 via Homebrew; verified 2026-06-07.
install
brew install yqlocal Homebrew formula metadata
sudo port install yqMacPorts ports tree · textproc/yq/Portfile · source: api.github.com
sudo apt install yqDebian stable package indexes · yq · source: deb.debian.org
sudo dnf install yqFedora Rawhide package metadata · yq · source: dl.fedoraproject.org
nix profile install nixpkgs#yqnixpkgs package indexes · yq · source: raw.githubusercontent.com
sudo pacman -S yqArch Linux sync databases · yq · source: geo.mirror.pkgbuild.com
sudo zypper install yqopenSUSE Tumbleweed package metadata · yq · source: download.opensuse.org
choco install yqChocolatey community package catalog · yq · source: community.chocolatey.org
scoop install main/yqScoop official bucket manifest trees · bucket/yq.json · source: api.github.com
winget install --id MikeFarah.yq -eWindows Package Manager source index · MikeFarah.yq · source: cdn.winget.microsoft.com
overview
Process YAML, JSON, XML, CSV and properties documents from the CLI
history
Mike Farah’s yq is a portable Go command-line processor for YAML and neighboring structured formats, best understood as the “jq-shaped” tool package users reach for when sed, awk, or ad hoc Python would be too brittle for configuration files.
The mikefarah/yq repository was created in 2015 and grew out of a very practical niche: manipulating YAML from shell scripts. Older v3 documentation described the goal as being the jq or sed of YAML files; the modern README broadens that into a lightweight processor for YAML, JSON, INI, XML, TOML, properties, CSV, and TSV while retaining jq-like expression syntax.
The v4 line became the modern identity of the project: a dependency-free Go binary, installable through package managers or containers, with a richer expression language for reading, updating, merging, converting, and editing files in place. That v3-to-v4 split is historically important because many examples, packages, and user questions distinguish Mike Farah’s yq from both older yq syntax and the separate kislyuk/yq wrapper around jq.
Adoption followed the rise of YAML-heavy infrastructure work: Kubernetes manifests, CI configuration, GitHub Actions workflows, Helm and Kustomize adjunct scripts, and release automation. The project documents Homebrew, snap, Docker/Podman, GitHub Action, and direct binary installation, and its repository badges track Docker pulls and GitHub release downloads.
The tool also became popular enough to create name-collision folklore: multiple unrelated tools are called yq, and users often have to verify whether their package manager installed Mike Farah’s Go implementation, kislyuk’s Python/jq wrapper, or an older major version.
Typical usage is one-liner data surgery: read nested fields, update YAML in place, inject environment variables, merge files, convert YAML to JSON or XML to YAML, and compose expressions in CI scripts. Package users value that yq ships as a static-style Go binary, so it works well in minimal containers and build agents.
In package-nerd workflows, yq often sits next to jq: jq remains the canonical JSON processor, while yq handles the messy real-world files that package manifests, deployment descriptors, and CI systems store in YAML or adjacent formats.
yq is one of the canonical examples of a small CLI becoming infrastructure glue. It saves package maintainers from writing custom parsers for YAML edits, and its availability across Homebrew, Linux distributions, Windows package managers, containers, and GitHub Actions makes it a dependable assumption in cross-platform scripts.
Its significance is also social: when someone says “install yq,” package nerds immediately ask which yq and which major version. That ambiguity is part of the package’s history.
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 |
|---|---|---|---|
yq | 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://github.com/mikefarah/yq
install metadata
| Package key | brew:yq |
|---|---|
| Version | 4.53.3 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/yq |
| Homepage | https://github.com/mikefarah/yq |
| Repository | https://github.com/mikefarah/yq |
| Upstream docs | https://github.com/mikefarah/yq#readme |
| License | MIT |
| Source archive | https://github.com/mikefarah/yq/archive/refs/tags/v4.53.3.tar.gz |
| Last updated | 2026-06-07T02:03:08Z |
| Pulse | updated |
| Build dependencies | go, pandoc |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | yq |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Conflicts With |
|
| 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.
yq 3.4.3-2
Command-line YAML processor - jq wrapper for YAML documents
sudo apt install yqyq
nix profile install nixpkgs#yqyq 3.1.0-3
Command-line YAML processor - jq wrapper for YAML documents
sudo apt install yqyq 4.47.1-5.fc44
Yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor
https://github.com/mikefarah/yq
sudo dnf install yqyq 3.4.3-3
Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents
sudo pacman -S yqyq 4.53.2-2.1
A portable command-line YAML processor
https://github.com/mikefarah/yq
sudo zypper install yqyq-bash-completion 4.53.2-2.1
Bash Completion for yq
https://github.com/mikefarah/yq
sudo zypper install yq-bash-completionyq-fish-completion 4.53.2-2.1
Fish Completion for yq
https://github.com/mikefarah/yq
sudo zypper install yq-fish-completionyq-zsh-completion 4.53.2-2.1
Zsh Completion for yq
https://github.com/mikefarah/yq
sudo zypper install yq-zsh-completionyq
sudo port install yqyq
choco install yqmain/yq
scoop install main/yqMikeFarah.yq
winget install --id MikeFarah.yq -esource 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.