Output Formats
tdx supports multiple output formats for query results and command outputs.
Format Options
| Option | Description |
|---|---|
| (default) | Human-readable ASCII table |
--json | Readable JSON array |
--jsonl | JSON Lines (one object per line) |
--tsv | Tab-separated values |
Table Format (Default)
Human-readable ASCII table with column types and row counts:
bash
tdx query "SELECT name, age FROM users LIMIT 2"┌────────┬─────┐
│ name │ age │
│ string │ int │
├────────┼─────┤
│ Alice │ 25 │
│ Bob │ 30 │
├────────┴─────┤
│ 2 rows │
└──────────────┘Numbers are right-aligned, strings are left-aligned.
JSON Format
Readable JSON array with newlines (no metadata):
bash
tdx query "SELECT name, age FROM users LIMIT 2" --jsonjson
[
{"name":"Alice","age":25},
{"name":"Bob","age":30}
]Perfect for piping to jq:
bash
tdx query "SELECT * FROM users" --json | jq '.[0]'
tdx query "SELECT * FROM users" --json | jq 'length'JSON Lines Format
One JSON object per line - ideal for streaming and line-by-line processing:
bash
tdx query "SELECT name, age FROM users LIMIT 2" --jsonl{"name":"Alice","age":25}
{"name":"Bob","age":30}Process line by line:
bash
tdx query "SELECT * FROM users" --jsonl | while read line; do
echo "$line" | jq '.name'
doneTSV Format
Tab-separated values with header row:
bash
tdx query "SELECT name, age FROM users LIMIT 2" --tsvname age
Alice 25
Bob 30Color Output
tdx automatically adds ANSI colors to output in interactive terminals:
Table format:
- Table borders: Dark gray (dim)
- Column headers: Plain text
- Type row: Dim gray
- Data values: Plain text
JSON format:
- Keys: Blue
- Strings: Green
- Numbers: Cyan
- Booleans: Yellow
- Null values: Dim
Automatic Detection
- Colors are enabled automatically when output is to an interactive terminal (TTY)
- Colors are disabled automatically when:
- Output is piped to another command
- Output is saved to a file with
--output
- Respects the
NO_COLORenvironment variable
Manual Control
bash
# Force colors on (even when piping or saving to file)
tdx databases --color
# Disable colors (even in interactive terminal)
tdx databases --no-color
# Disable colors via environment variable
NO_COLOR=1 tdx databasesInteractive Table Navigation
When viewing table output in an interactive terminal, tdx automatically pipes output through less for easy navigation:
| Key | Action |
|---|---|
q | Quit and return to terminal |
↑ / ↓ | Scroll up/down one line |
Space | Scroll down one page |
b | Scroll up one page |
← / → | Scroll left/right (for wide tables) |
/pattern | Search forward |
n / N | Repeat search forward/backward |
g / G | Go to first/last line |
Less pagination is disabled when:
- Output is piped to another command
- Output is saved to a file with
--output - Using non-table formats (JSON, JSONL, TSV)