Features Usage Install GitHub

jdx

Interactive JSON Data Explorer

Think jq meets a code editor — with AI.

$ cargo install jdx
Pre-built Binaries
jdx
jdx demo — interactive JSON exploration in the terminal

Features

Everything you need to explore, query, and transform structured data in the terminal.

.

Query Language

Dot-notation paths like .users[0].name with filter predicates and compound && / || logic. Every keystroke updates the view instantly.

:

Inline Transforms

Chain :pick, :sort, :filter, :reverse, :upper, and 14 more transforms directly in your query.

⇥

Fuzzy Completion

Press Tab for fuzzy-matched key suggestions at current depth. Ghost text shows the top candidate inline, like fish shell.

◢

Tree Navigation

Split panel with a collapsible tree view. Expand, collapse, and navigate nodes with arrow keys. Syncs with the query input.

{}

Schema Inspector

Infers the shape of your data — types, optional fields, value ranges, and array lengths. Great for unfamiliar APIs.

◑

AI Queries

Ask questions in plain English. The AI sees your data and answers directly. Supports OpenAI, Anthropic, and local Ollama models.

⇄

Multi-Format

Auto-detects JSON, YAML, TOML, CSV, and NDJSON input. Output in any format with a flag.

→

Streaming NDJSON

Pipe a streaming source and explore immediately. Updates live as new lines arrive with a streaming indicator.

⎘

Clipboard & History

Copy values with Ctrl+Y, bookmark paths with Ctrl+D, and search through saved query history with Ctrl+R.

Usage

A few examples of what jdx can do.

Basic Exploration
# Pipe JSON from any source
$ curl -s https://api.github.com/repos/rust-lang/rust | jdx

# Open a file directly
$ jdx data.json

# YAML, TOML, CSV are auto-detected
$ cat config.yaml | jdx
Query Language + Transforms
# Dot-notation with filter predicates
.store.books[price < 10].title

# Compound filters with && and ||
.items[price > 5 && price < 20]
.users[role == "admin" || role == "mod"]

# Chain transforms
.users :pick name,age :filter age > 25 :sort age desc

# Aggregations & string transforms
.store.books :sum price
.names :upper :reverse
.date :split - :reverse :join /
AI Queries (press /)
# Press / to enter AI mode, then ask in plain English

"what is the total price of all books?"
"which books cost less than $10?"
"who are the admin users?"

# The AI answers directly and suggests a jdx query
# Press Enter to apply the suggested query
Multi-Format & Streaming
# Convert between formats
$ jdx data.json --output yaml
$ cat data.csv | jdx --input csv

# Stream NDJSON in real time
$ tail -f logs.jsonl | jdx --input ndjson
$ docker logs -f myapp | jdx --input ndjson

Comparison

How jdx stacks up against other JSON tools.

Feature jdx jq jid fx jless
Interactive TUI ✓ — ✓ ✓ ✓
Fuzzy completion ✓ — Prefix — —
Tree navigation ✓ — — — ✓
Schema inspector ✓ — — — —
AI queries ✓ — — — —
Inline transforms ✓ ✓ — ✓ —
Filter predicates ✓ ✓ — ✓ —
Multi-format input ✓ — — ✓ —
Streaming NDJSON ✓ ✓ — ✓ —
Clipboard copy ✓ — — — —
Query history ✓ — — — —
Written in Rust C Go Go Rust

Install

Get started in seconds. Single binary, no dependencies.

Cargo

From crates.io

cargo install jdx

Homebrew

macOS / Linux

brew install eladbash/jdx/jdx

Pre-built Binaries

Linux, macOS, Windows

GitHub Releases