Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Command-Line Apps
  3. jq

jq

NOASSERTIONCjq-1.8.1

A lightweight, zero-dependency command-line JSON processor for slicing, filtering, and transforming JSON data.

Visit WebsiteGitHubGitHub
34.8k stars1.8k forks0 contributors

What is jq?

jq is a lightweight and flexible command-line JSON processor that allows developers to slice, filter, map, and transform JSON data directly from the terminal. It solves the problem of efficiently manipulating structured JSON in scripts and data pipelines without relying on heavy dependencies. Think of it as sed or awk, but specifically designed for JSON.

Target Audience

Developers, DevOps engineers, and data professionals who work with JSON data in command-line environments, scripts, or automation pipelines.

Value Proposition

Developers choose jq for its zero runtime dependencies, portable C implementation, and powerful, expressive syntax that makes complex JSON manipulations simple and composable with other Unix tools.

Overview

Command-line JSON processor

Use Cases

Best For

  • Extracting specific fields from API responses in shell scripts
  • Transforming JSON logs for monitoring and analysis
  • Filtering and formatting JSON configuration files
  • Processing large JSON datasets in command-line pipelines
  • Automating data extraction from JSON files in CI/CD workflows
  • Quickly querying and manipulating JSON from REST APIs

Not Ideal For

  • Applications requiring graphical user interfaces for JSON editing or visualization
  • Workflows that involve frequent manipulation of non-JSON data formats like XML or YAML
  • Teams preferring integrated development environments (IDEs) with built-in JSON support over command-line tools

Pros & Cons

Pros

Expressive Filtering Syntax

jq uses a concise, domain-specific language to extract and manipulate JSON fields, making complex queries simple with filters like '.items[] | select(.price > 10)'.

Efficient Streaming

It processes large JSON files or streams without loading everything into memory, ideal for big data or log files, as highlighted in the README's key features.

Zero-Dependency Portability

Written in portable C with no runtime dependencies, jq runs anywhere from servers to embedded systems, ensuring broad compatibility and ease of deployment.

Online Experimentation

The official playground at play.jqlang.org allows users to try jq online without installation, facilitating quick learning and testing of filters.

Cons

Steep Learning Curve

jq's filter language is powerful but non-intuitive, with a syntax that can be challenging to master compared to using JSON libraries in scripting languages.

JSON-Only Scope

It exclusively handles JSON data, so for projects dealing with other formats like YAML or XML, additional tools or conversions are necessary, limiting utility in mixed-format environments.

Cryptic Error Messages

Error messages in jq are often vague and unhelpful for debugging complex queries, which can frustrate new users and slow down development.

Frequently Asked Questions

Quick Stats

Stars34,831
Forks1,800
Contributors0
Open Issues362
Last commit7 days ago
CreatedSince 2012

Tags

#devops#shell-scripting#command-line-tool#text-processing#data-processing#data-transformation#json-parsing#jq#automation#json-processor#cli-utilities

Built With

D
Docker
C
C++

Links & Resources

Website

Included in

Shell36.8kCommand-Line Apps19.2kREST3.9k
Auto-fetched 22 hours ago

Related Projects

InsomniaInsomnia

The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.

Stars38,476
Forks2,290
Last commit22 hours ago
httpiehttpie

🥧 HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more.

Stars38,200
Forks3,955
Last commit1 year ago
fxfx

Terminal JSON viewer & processor

Stars20,626
Forks483
Last commit28 days ago
yqyq

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

Stars15,499
Forks780
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub