jnv

Interactive terminal JSON viewer and jq filter editor with auto-completion, using the built-in jaq engine; reads files or stdin.

install

jnv is a terminal JSON navigator that combines a foldable, syntax-highlighted JSON viewer with an interactive jq filter editor. You type a filter in the editor and the viewer shows the result as you edit. Filters are applied with jaq, a jq clone, so a separate jq installation is not required.

Input comes from a file or stdin (jnv data.json or cat data.json | jnv). It accepts a single JSON document or multiple JSON values that serde_json's StreamDeserializer can parse, such as JSON Lines. With --write-to-stdout (UNIX only), the current result is printed on exit so it can be piped into another command or redirected to a file. --default-filter sets an initial jq filter, and -c selects a config file.

The editor offers Tab auto-completion for identity, object identifier-index, and array index expressions, plus hint messages for evaluating the filter. Shift+Up/Down switches focus between editor and viewer. In the viewer, Enter toggles folds and Ctrl+P / Ctrl+N expand or collapse all. Ctrl+Q copies the filter and Ctrl+O copies the JSON to the clipboard.

Behavior is configured through a TOML file (created on first run at the platform's config directory). It covers keybindings, editor and JSON styling, completion settings, debounce and animation timing, overflow mode, and a max_streams limit for large streams. It suits developers and operators who explore API responses, logs, or JSON Lines data and want to build jq queries interactively.

Installation

# via Homebrew
brew install jnv
# via Cargo
cargo install jnv
# via MacPorts
sudo port install jnv

jnv demo

Alternatives & related tools

add a badge to your README

Maintain jnv? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/jnv.svg)](https://www.trmn.sh/tools/jnv?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/jnv?utm_source=badge"><img src="https://www.trmn.sh/badge/jnv.svg" alt="Featured on trmn" height="20"></a>