Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
tuitab
A fast, keyboard-driven terminal explorer for tabular data.
Open CSV · JSON · Parquet · Excel · SQLite · DuckDB straight from your shell — filter, sort, pivot, join, compute columns, and chart distributions without leaving the terminal.

|
New to tuitab? Jump to the Quick start, or read the full Documentation — available in English and Русский.
Highlights
- Six input formats — CSV/TSV (auto-delimiter), JSON, Parquet, Excel (xlsx/xls), SQLite, DuckDB. Browse a whole directory, or pipe data in over stdin.
- Vim-style navigation —
hjkl,gg/G, page jumps, sticky pinned columns. - Instant analysis — per-column statistics, frequency tables, and charts (histogram, bar, line, grouped bar) rendered right in the terminal.
- Reshape on the fly — pivot tables, JOINs across files, transpose, computed columns from an expression language.
- Clean, fast, type-aware — Polars-backed engine, Everforest theme, undo/redo, currency / percentage / date column types.
- Export anywhere — write back to CSV, TSV, Parquet, JSON, Excel, or SQLite; yank rows to the clipboard as TSV, CSV, JSON, or Markdown.
See it in action
Charts — histogram, bar, line, grouped bar
Press V on any column. Numeric columns get a Freedman–Diaconis histogram;
categorical columns get a frequency bar chart. Pin a date or
category column first with ! to draw line charts and grouped bars.

Pivot tables
Pin the column(s) to group by, place the cursor on the column to spread across,
press W, and type an aggregation formula such as sum(revenue).

JOIN across files
Press J for a step-by-step wizard: pick another file (or an open sheet),
choose INNER / LEFT / RIGHT / OUTER, and select the key columns.

Computed columns
Press = and type an expression. Arithmetic, string and date functions, and
conditionals are all supported — the new column appears right next to the cursor.

Installation
Cargo (crates.io)
Installs three commands: tuitab, plus the shorter aliases ttab and ttb.
Homebrew (macOS / Linux)
Arch Linux (AUR)
# or build from source:
&& &&
Debian / Ubuntu
Download the .deb from the Releases page, then:
Pre-built binaries
Grab a tarball for your platform (Linux / macOS, x86_64 / aarch64) from the Releases page.
The default build bundles DuckDB and SQLite from source, so the binary is fully self-contained — no system libraries required. This compiles DuckDB's C++ core (~5 min the first time).
To skip that and link a system DuckDB instead:
| Feature | Default | Description |
|---|---|---|
bundled-duckdb |
✓ | Compile DuckDB from source; no system libduckdb needed |
Quick start
- Move with
hjkl; jump withgg/G. - Sort the current column:
[ascending,]descending,rto reset. - Chart it:
V. Per-column stats:I. Frequency table:F. - Select rows by an expression:
|!=amount > 1000. - Add a column:
=then e.g.revenue / units. - Save / export:
Ctrl+S. Quit:q. Help at any time:?.
Usage
tuitab [OPTIONS] [FILES]...
Arguments:
[FILES]... One or more files to open, a directory, or '-' for stdin.
Pass multiple files to browse them as a list.
Defaults to the current directory.
Options:
-d, --delimiter <CHAR> Column delimiter (auto-detected if omitted)
-t, --type <FORMAT> Format when reading from stdin: csv, tsv, txt, json
-h, --help Print help
-V, --version Print version
Browse several files
A directory-style listing opens with each file as a row. Press Enter to open
one; Esc or q to go back.
Pipe mode
|
|
Stdin accepts
csv,tsv,txt, andjson. For Parquet/Excel/SQLite, open the file directly.
Keybindings
The essentials — see the full keybinding reference for every command (column ops, clipboard, dedup, and more).
| Key | Action | Key | Action |
|---|---|---|---|
h j k l |
Move cursor | [ / ] |
Sort asc / desc |
gg / G |
First / last row | r |
Reset sort |
Ctrl+B / Ctrl+F |
Page up / down | / |
Search (regex) |
! |
Pin / unpin column | | |
Select rows by regex / expression |
= |
Add computed column | , |
Select rows by value |
V |
Chart column | s / u |
Select / unselect row |
I |
Column statistics | + / - |
Add / clear aggregator |
F |
Frequency table | t |
Set column type |
W |
Pivot table | Enter |
Transpose row / drill down |
J |
JOIN with another table | T |
Transpose table |
Ctrl+S |
Save / export | U / Ctrl+R |
Undo / redo |
? |
Help | q |
Quit / pop sheet |
Non-QWERTY layouts (ЙЦУКЕН, QWERTZ, AZERTY) are transparently remapped, so the hotkeys work regardless of your keyboard.
Documentation
Full guides, organised by topic, in two languages:
Acknowledgements
tuitab is inspired by VisiData — a brilliant terminal spreadsheet multitool by Saul Pwanson. If you find tuitab useful, check out VisiData too. Built with ratatui, Polars, and crossterm.
Contributing
Bug reports, feature requests, and pull requests are welcome. See CONTRIBUTING.md.
License
Apache-2.0 — see LICENSE.