kvx#
Explore structured data interactively in your terminal.
kvx is a terminal-based UI for exploring JSON, YAML, TOML, NDJSON, CSV, and JWT data in an interactive, navigable way. It presents data as key-value trees that you can expand, collapse, and inspect directly in the terminal.
Quick Install#
macOS / Linux (Homebrew)#
brew install oakwood-commons/tap/kvxWindows (winget)#
winget install OakwoodCommons.kvxFrom Source#
go install github.com/oakwood-commons/kvx@latestOr download a binary from GitHub Releases.
30-Second Example#
# Render a YAML file as a table
kvx data.yaml
# Explore interactively
kvx data.yaml -i
# Evaluate a CEL expression
kvx data.yaml -e '_.items[0].name'
# Output as JSON
kvx data.yaml -e '_.metadata' -o jsonKey Features#
- Multi-format — Auto-detects JSON, YAML, TOML, NDJSON, CSV, and JWT
- Interactive TUI — Navigate, search, filter, and evaluate expressions in the terminal
- CEL Expressions — Use Common Expression Language for dynamic querying and filtering
- Multiple Output Formats — Table, list, tree, Mermaid diagrams, CSV, YAML, JSON
- Themes — Built-in themes (midnight, dark, warm, cool) with full customization
- Schema Hints — JSON Schema-driven column display (headers, widths, alignment)
- Embeddable — Use kvx as a Go library in your own applications
- Shell Completion — Bash, Zsh, Fish, and PowerShell support
Documentation#
Tutorials#
- Getting Started — Install and run your first exploration
- Interactive Mode — Navigate, search, and evaluate in the TUI
- CEL Expressions — Dynamic querying with CEL
- Configuration & Themes — Customize kvx to your workflow
Reference#
- TUI Quick Guide — Panels, keybindings, and keyboard reference
- Library Usage — Use kvx as a Go library (pkg/core + pkg/tui)
- Embedding the TUI — Embed the interactive viewer in your app
- Development — Build, test, and contribute