qo
TUI for querying JSON and CSV files with SQL syntax, reads from stdin and outputs to stdout
qo is a terminal user interface (TUI) tool that enables SQL queries against JSON and CSV data files. It functions as a pipeline-friendly utility that reads from stdin or file arguments and writes results to stdout, making it compatible with standard Unix workflows.
The tool supports both interactive and non-interactive modes. In interactive mode, users can explore data through a TUI interface, build SQL queries, and see results before committing to output. Non-interactive mode accepts SQL queries via the -q flag for direct command-line processing. qo handles multiple input formats including JSON, JSONL, CSV, TSV, and PSV, with corresponding output format options.
Built on SQLite as its SQL engine, qo supports the full SQLite syntax including JSON extraction functions for nested data queries. The tool includes format conversion capabilities, allowing transformation between JSON, CSV, and other structured formats. Users can aggregate data, filter logs, and perform complex joins across multiple files using familiar SQL operations.
Developers and data analysts working with structured data in command-line environments will find qo useful for exploratory data analysis, log processing, and data transformation tasks. The TUI provides vim-style navigation controls and tab-based mode switching between query editing and result viewing.
Installation
# via Homebrew
brew install kiki-ki/tap/qo
# via Shell Script
curl -sfL https://raw.githubusercontent.com/kiki-ki/go-qo/main/install.sh | sh

Alternatives & related tools
Skate
A local personal key-value store CLI for saving and retrieving text or binary data, with named databases and pipe-friendly output.
jqp
A terminal UI for running jq queries interactively against JSON or NDJSON input, using the gojq implementation, with themes and query history.
gojq
Pure Go implementation of jq command-line JSON processor with arbitrary-precision arithmetic and YAML support
lazysql
Cross-platform TUI database management tool for MySQL, PostgreSQL, SQLite, and MSSQL with SQL editor and table operations.
jid
Interactive JSON explorer that takes piped input and lets you drill down with dot-path or JMESPath queries, with tab completion and suggestions.
add a badge to your README
Maintain qo? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/qo?utm_source=badge)<a href="https://www.trmn.sh/tools/qo?utm_source=badge"><img src="https://www.trmn.sh/badge/qo.svg" alt="Featured on trmn" height="20"></a>