mikefarah/yq

yq is a portable command-line YAML, JSON, XML, CSV, TOML, HCL and properties processor

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 7 minutes ago
Added to GitGenius on September 3rd, 2026
Created on September 26th, 2015
Open Issues & Pull Requests: 299 (+0)
GitHub issues: Enabled
Number of forks: 833
Total Stargazers: 15,932 (+0)
Total Subscribers: 67 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.5 days
Mean response time: 71.2 days
90th percentile: 202.8 days
Tracked items: 297

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 99% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 70% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 6% of issues opened in the past year have been closed. Three people close 84% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 160
New in 7 days: 3
Closed in 7 days: 0
Avg open age: 638 days
Stale 30+ days: 145
Stale 90+ days: 133

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 2
Events in 7 days: 6

Top labels

  • v4 (274)
  • bug (214)
  • enhancement (82)
  • from-jq (6)
  • wontfix (5)
  • help wanted (3)
  • v3 (1)
  • yaml-v3 (1)

Detailed Description

yq is a command-line processor for YAML, JSON, XML, CSV, TOML, HCL, and properties files.

The tool addresses the need to query, transform, and convert structured data formats from the command line. It adopts jq-like syntax, making it familiar to users of that popular JSON processor, but extends that approach to work across multiple formats. This means developers can use consistent query and transformation patterns whether working with YAML configuration files, JSON APIs, XML documents, or other structured formats without learning different tools for each.

Teams should choose yq when they need to manipulate configuration files or structured data in shell scripts and automation pipelines. It suits DevOps workflows, infrastructure-as-code projects, and any scenario involving batch processing of multiple formats. The tool is particularly valuable for those already comfortable with jq syntax who need to work with YAML or other formats. It is distributed as a single, dependency-free binary for multiple platforms, making it straightforward to integrate into CI/CD systems, containers, and deployment scripts without additional installation overhead.

The project maintains active development with regular additions to supported operations and functions. The tool has broad distribution across multiple installation channels including package managers, Docker, and direct binary downloads. Documentation is comprehensive, with recipes and examples provided alongside formal API documentation. Community engagement is evident through discussion forums addressing common questions and showcasing use cases.