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