Getting started
August 18, 2026 Β· View on GitHub
π·πΊ ΠΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° ΡΡΡΡΠΊΠΎΠΌ Β· β Documentation index
Install
The quickest route is Cargo:
cargo install tuitab
This installs three identical commands β tuitab and the shorter aliases ttab
and ttb. Other options (Homebrew, AUR, Debian, pre-built binaries) are in the
main README.
Open a file
Pass any supported file as the first argument:
tuitab data.csv
tuitab report.parquet
tuitab books.xlsx
tuitab app.db
| Format | Extensions | Notes |
|---|---|---|
| CSV / TSV | .csv, .tsv | Delimiter auto-detected; override with -d |
| JSON | .json | Opens as a tree over the real document |
| JSONL / NDJSON | .jsonl, .ndjson | One record per line |
| YAML | .yaml, .yml | Tree, like JSON |
| TOML | .toml | Tree, like JSON |
| Parquet | .parquet | Columnar, fast |
| Arrow / Feather | .arrow, .feather, .ipc | Read and written |
| Excel | .xlsx, .xls | Multi-sheet workbooks open as a sheet list |
| Markdown | .md, .markdown | A page is one row: frontmatter fields are columns, the text is body, the path is file |
| SQLite | .sqlite, .sqlite3, .db | Tables open as a table list |
| DuckDB | .duckdb, .ddb, .db | Which engine a .db is comes from the file's own header, not its name |
For workbooks and databases, tuitab first shows an overview (sheets or tables);
press Enter on a row to open it, Esc / q to go back. Tables can be edited
and saved back β see Databases.
JSON, YAML and TOML are not flattened into a copy: the sheet is a view over the
document itself, Enter dives into a nested object or list, and saving
re-serialises the tree. Converting between them is just a different extension on
Ctrl+S.

Force a format
-t is required for stdin, and for a file it overrides the extension:
tuitab -t yaml deploy.conf # a YAML file that is not called .yaml
An unknown extension is decided by the contents, so deploy.conf usually opens
correctly with no flag at all.
Open a database that does not exist yet
tuitab inventory.sqlite # nothing there β a blank sheet opens
Add columns, give them types, add rows, Ctrl+S, and tuitab writes a real typed
table. See Databases.
Override the delimiter
When auto-detection guesses wrong (or you have a ;-separated file):
tuitab data.csv -d ';'
Browse several files
Pass more than one path and tuitab opens a file list instead of a single table:
tuitab orders.csv customers.csv products.parquet
Each file becomes a row showing its name, size, and modified time. Enter opens
the highlighted file; Esc / q returns to the list.
Browse a directory
Point tuitab at a folder (or run it with no arguments to use the current one):
tuitab ./reports/
tuitab # current directory
You get a navigable file browser β open files with Enter, step back out with
Esc / q.
Read from a pipe
tuitab reads from stdin when data is piped in. Tell it the format with -t:
cat data.csv | tuitab -t csv
psql -c "SELECT * FROM orders" --csv | tuitab -t csv
echo '[{"id":1,"name":"Alice"}]' | tuitab -t json
Stdin understands csv, tsv, txt, json, jsonl/ndjson, yaml/yml
and toml. (txt is treated as CSV.) To read Parquet, Arrow, Excel, Markdown,
SQLite, or DuckDB, open the file by path instead of piping it. - works as an
explicit stdin path: cat data.csv | tuitab -t csv -.
The screen
β sample.csv ββββββββββββββββββββββββββββββββββββββββ
β id sβ name sβ age #β salary ~β department sβ β header row (name + type icon)
ββ 1 β Alice Johnsonβ 30 β 75000.00 β Engineering β β cursor row (highlighted)
β 2 β Bob Smith β 45 β 92000.50 β Management β
β β¦ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β NORMAL Loaded 20 rows row 3/20 col 3/5 β β status bar
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- The header shows each column name plus a small type icon
(
sstring,#integer,~float,ddate,tdatetime,%percentage,$currency,Bfile size,?boolean). - The status bar shows the current mode, a message, and your position.
- Press
?at any time for the in-app help overlay.
Next steps
- Learn the keybindings.
- Try charts, pivot tables, and JOINs.
- Edit a table and write it back with Databases.
- Let an assistant compute over your files with the MCP server
(
tuitab --mcp). - Browse task-oriented recipes.