πŸ“£ Important update β€” access is changing on 1 October 2026

Starting 1 October 2026 at noon (UK time), this mirror will require authentication to keep apt working.
Downloading packages stays free from the GitHub repositories where they are built.
A yearly subscription gets you free immediate updates through apt and directly supports keeping this project alive. Thank you! πŸ™

πŸ”‘ Get Your Yearly Subscription

€15 / $15 / Β£15 per year β€” US dollars if your currency isn't supported.

πŸ’¬ Questions, issues or anything about this repo? Join our Discord community β€” the best place to get help and connect with other users.
β˜• Previously supported via Buy Me a Coffee? You are wonderful! Head over to our Discord and we will sort out a free lifetime subscription for you. πŸ’œ

πŸ“‘ Install Latest yq on Ubuntu

A portable command-line YAML, JSON, XML, CSV and TOML processor

Latest version: 4.53.3 Β· updated 2026-07-16
SourceVersion
deb.griffo.io4.53.3 βœ…
Official Ubuntu🚫 not packaged
← Back to home
πŸ“Œ Installing on a specific release? Ubuntu 22.04 (jammy) Β· Ubuntu 24.04 (noble) Β· Ubuntu 25.10 (questing) Β· Ubuntu 26.04 (resolute)

What is yq?

yq is a lightweight, portable command-line processor for structured data β€” YAML, JSON, XML, CSV, TOML and properties files β€” written in Go by Mike Farah. It uses jq-like syntax, so everything you know from jq transfers directly: query, transform, merge, and edit files in place, in scripts and pipelines, with a single dependency-free binary.

⚠️ Which yq is this? This is mikefarah/yq (v4.x, Go) β€” the one used in most CI examples and documentation. It is not the python-based yq jq-wrapper found in some archives; this package supersedes it cleanly, and no python or jq is required.
πŸš€ Always ahead of the official archives: Debian and Ubuntu freeze package versions when a release ships β€” this repository publishes new upstream releases typically within hours. A simple apt upgrade keeps you on the latest version.

⚑ Key Features of yq

πŸ”„ Six Formats

YAML, JSON, XML, CSV/TSV, TOML and properties β€” read one, output another: yq -o=json '.' config.yaml converts in one step.

🧠 jq-like Syntax

Familiar paths, pipes, functions and operators. If you can write a jq filter, you can already use yq on YAML.

✏️ In-place Editing

yq -i '.spec.replicas = 3' deploy.yaml β€” scripted edits to Kubernetes manifests, CI configs and Compose files, comments preserved.

πŸ“¦ Zero Dependencies

A single static Go binary. No runtime, no libraries, no python β€” ideal for minimal containers and CI runners.

πŸ”€ Merge & Anchors

Deep-merges multiple files, resolves YAML anchors and aliases, handles multi-document streams β€” the hard YAML cases done right.

πŸ“– Man Page Included

This package ships the full man page alongside the binary β€” man yq works offline, matching Debian conventions.

πŸ† Why install it with apt?

  • Fleet-friendly: pin one repo in your base images and every server, container and CI runner gets the same current yq
  • No curl-to-bin: a GPG-signed repository instead of downloading binaries into /usr/local/bin by hand
  • The right yq: guarantees mikefarah/yq v4 semantics everywhere β€” no surprises from the python wrapper on some machines
  • Automatic updates: new upstream releases arrive with your normal apt upgrade
  • Multi-arch: amd64, arm64, armhf, ppc64el, s390x and riscv64

πŸ“¦ Installation from deb.griffo.io

Step 1: Add Repository

sudo install -d -m 0755 /etc/apt/keyrings curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null sudo apt update
install -d -m 0755 /etc/apt/keyrings curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null apt update

Step 2: Install yq

sudo apt install -y yq
apt install -y yq

πŸš€ First run

yq '.services | keys' docker-compose.yml # query yq -i '.image.tag = "1.2.3"' values.yaml # edit in place yq -o=json '.' config.yaml # YAML -> JSON

πŸ“¦ Package Build Repository

The Debian packages are automatically built and maintained in this GitHub repository:

πŸ”— Related Packages

Also available from deb.griffo.io:

🎯 Perfect for: DevOps engineers editing Kubernetes manifests and Helm values, CI/CD pipelines transforming configuration, sysadmins scripting against YAML/JSON APIs, and anyone who wants jq ergonomics for every config format.

πŸ’ Support This Project

If this repository saves you time and effort, please consider supporting it!

⭐ Star on GitHub 🐦 Share on Twitter

πŸ“¦ Recent releases from this repository

πŸ“š Release-specific install guides

❓ Frequently asked questions

Is yq in the official Ubuntu repositories?

No β€” yq is not packaged in the official Ubuntu archives. This repository is currently the only apt source, serving yq 4.53.3.

How do I install the latest yq on Ubuntu?

Add the deb.griffo.io repository once using the instructions above, then run: sudo apt install yq. New releases arrive through the normal sudo apt upgrade.

Are the packages signed and how are they built?

Every package is signed with the repository's GPG key (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) and built from upstream releases in public GitHub packaging repositories that anyone can inspect.

Which Ubuntu releases are supported?

Ubuntu 22.04 Jammy, 24.04 Noble, 25.10 Questing and 26.04 Resolute.