# jq | jqlang | Knowledge Base | Instagit

Command-line JSON processor

GitHub Stars: 34.4k

Repository: https://github.com/jqlang/jq

---

## Articles

### [jq --from-file Relative Paths and `$ORIGIN`: Module Resolution Explained](/jqlang/jq/jq-from-file-paths-origin)

Understand jq --from-file relative paths and $ORIGIN. Learn how filter files and library paths resolve modules to ensure correct execution. Master jq module resolution.

- Tags: deep-dive
- Published: 2026-04-11

### [jq Try-Catch Patterns and Error Propagation: A Complete Technical Guide](/jqlang/jq/jq-try-catch-error-propagation)

Master jq try-catch patterns and error propagation in this technical guide. Learn how jq uses compiled bytecode to handle errors effectively across your pipelines.

- Tags: deep-dive
- Published: 2026-04-11

### [jq with_entries: Transform Object Keys and Values](/jqlang/jq/jq-with-entries-object-transformation)

Master jq with_entries to transform object keys and values. Learn to rename keys, modify values, and filter entries efficiently with this powerful built-in jq filter for concise object manipulation.

- Tags: how-to-guide
- Published: 2026-04-11

### [How to Use jq `sort_by`, `group_by`, and `unique_by` with Custom Comparators](/jqlang/jq/jq-sorting-grouping-unique-custom-comparators)

Learn to use jq sort_by, group_by, and unique_by with custom comparators. Leverage jq expressions for powerful sorting, grouping, and deduplication in your JSON data.

- Tags: how-to-guide
- Published: 2026-04-11

### [How jq Label and Break Enable Early Exit: Implementation and Usage](/jqlang/jq/jq-label-break-early-exit)

Learn how jq label and break enable early exit from pipelines. Discover the implementation using GENLABEL, try catch, and BACKTRACK opcodes for aborting execution.

- Tags: internals
- Published: 2026-04-11

### [jq Built-In Debugging Features: Tracing, Disassembly, and Runtime Inspection](/jqlang/jq/jq-debugging-features)

Explore jq built-in debugging features like tracing, disassembly, and runtime inspection for deeper introspection of compiled programs and running filters.

- Tags: deep-dive
- Published: 2026-04-11

### [jq Regex Operations: match vs test vs scan vs capture – A Complete Guide](/jqlang/jq/jq-regex-operations-difference)

Master jq regex operations match test scan and capture with this guide Explore detailed match objects boolean checks global extraction and named captures to efficiently process your JSON data

- Tags: deep-dive
- Published: 2026-04-11

### [jq Security Considerations for Untrusted Input: Architecture and Best Practices](/jqlang/jq/jq-security-untrusted-input)

Learn jq security best practices for untrusted input. Discover how jq protects against malicious JSON with strict validation, isolated I/O, and invalid value propagation. Secure your JSON processing today.

- Tags: best-practices
- Published: 2026-04-11

### [Common jq Reduce Patterns: 9 Essential Techniques for JSON Aggregation](/jqlang/jq/jq-reduce-patterns)

Master common jq reduce patterns to aggregate JSON data. Explore 9 essential techniques for sums, groupings, and complex operations using the jq reduce operator. Boost your JSON processing skills.

- Tags: best-practices
- Published: 2026-04-11

### [jq `splits` vs `split` in Streaming Mode: What Every Developer Needs to Know](/jqlang/jq/jq-splits-split-streaming)

Discover the key differences between jq `splits` and `split` in streaming mode. Optimize your data processing with memory-efficient substring streams using `splits`.

- Tags: deep-dive
- Published: 2026-04-11

### [How jq recurse Works for Tree Traversal: Implementation Guide](/jqlang/jq/jq-recurse-tree-traversal)

Learn how jq recurse performs depth-first tree traversal using a self-referential helper function implemented entirely in jq's scripting language. Master jq tree traversal.

- Tags: internals
- Published: 2026-04-11

### [Understanding jq Type Errors and the Plus Operator in jqlang/jq](/jqlang/jq/jq-type-errors-plus-operator)

Learn to resolve jq type errors with the plus operator. Understand how jqlang/jq enforces type safety and generates runtime errors for improved JSON processing.

- Tags: deep-dive
- Published: 2026-04-11

### [jq Bytecode Compiler and Virtual Machine: Deep Dive into the Execution Engine](/jqlang/jq/jq-bytecode-compiler-virtual-machine)

Explore the jq bytecode compiler and virtual machine. Understand how jq executes JSON filters efficiently with its custom stack-based engine, supporting advanced features.

- Tags: deep-dive
- Published: 2026-04-11

### [jq Module Search Order: How the jq Linker Resolves `import` Statements](/jqlang/jq/jq-module-search-order)

Understand jq module search order. Learn how the jq linker resolves import statements with a six-step priority including current directory, -L flags, JQ_LIBRARY_PATH, $ORIGIN and importing module location.

- Tags: internals
- Published: 2026-04-11

### [How to Use the jq Module System with -L and --library-path: Complete Guide](/jqlang/jq/jq-module-system-library-path)

Master the jq module system with -L and --library-path. Learn to split programs, import modules, and manage custom directories for efficient jq scripting.

- Tags: tutorial
- Published: 2026-04-11

### [When to Use jq's --stream Option for Large JSON Processing](/jqlang/jq/when-to-use-jq-stream)

Learn when to use jq --stream for large JSON processing. Efficiently handle massive files and stream data without loading entire structures into memory.

- Tags: best-practices
- Published: 2026-04-11

### [How jq's --stream Works: Inside the Streaming JSON Parser](/jqlang/jq/jq-stream-parser-working)

Learn how jq's --stream option enables incremental parsing of massive JSON documents without loading them into memory. Discover how it emits [path, value] pairs as leaf values are found.

- Tags: internals
- Published: 2026-04-11

