Tennis is a command-line utility for displaying structured data as attractively formatted tables in the terminal. It provides a convenient way to inspect CSV, TSV, JSON and SQLite data without opening a spreadsheet application or graphical database viewer.
The application concentrates on making tabular information readable within the available terminal space. Its layout engine calculates column widths, truncates content where necessary and adjusts the presentation to accommodate different data types. This is particularly useful when inspecting datasets containing numerous columns or fields with varying lengths.
Tennis is suitable for developers, system administrators and data analysts who frequently examine structured files. It offers lightweight data exploration alongside formatting controls that make tables easier to interpret. Users can select particular columns, rearrange information and inspect representative data without modifying the underlying files.
The utility also includes colour schemes and presentation options for producing readable output in different terminal environments.
This is free and open source software.
Key Features
- Automatically detects CSV, TSV, semicolon-separated and pipe-separated data.
- Supports JSON arrays, individual JSON objects and newline-delimited JSON.
- Displays SQLite database tables using the external sqlite3 command-line utility.
- Adaptive column layout calculates suitable widths based on terminal dimensions and available content.
- Custom column sizing options allow selected fields to receive additional display space.
- Automatic numeric detection, alignment and formatting, including locale-aware presentation.
- Automatically selects light or dark colour themes according to the terminal background.
- Configurable table borders, titles, row numbers, alternating row colours and colour scales.
- Sort rows, reverse their order, shuffle records or filter data using matching text.
- Select, exclude and reorder columns, including selection by column index.
- Display the first or last specified number of records using head and tail operations.
- Peek mode summarises the structure, sample records and statistical characteristics of a dataset.
- Supports terminal pagers for inspecting wide tables and larger datasets.
- Handles Unicode characters and emoji with display-width calculations.
- Cross-platform support – runs on Linux and macOS.
Website: github.com/gurgeous/tennis
Support:
Developer: Adam Doppelt
License: MIT License
Tennis is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| JSON Tools | |
|---|---|
| jq | Lightweight and flexible JSON processor. It's like sed for JSON |
| fx | JSON viewer with streaming and mouse support |
| jaq | jq clone focused on correctness, speed, and simplicity. |
| gron | Transforms JSON into discrete assignments to make it easier to grep |
| gojq | Pure Go implementation of jq |
| jless | Command-line JSON viewer written in Rust |
| jnv | Navigates JSON offering a viewer and filter editor |
| JSON Editor | View, edit, format, and validate JSON |
| Dasel | Query, modify and transform structured data |
| jid | JSON incremental digger by using filtering queries |
| jo | Small utility to create JSON objects |
| jsonrepair | Repair malformed and invalid JSON documents |
| faq | Billed as a more flexible jq supporting additional formats |
| jello | Filter JSON and JSON Lines data with Python syntax |
| jq but an interoperable configuration format transcoder | |
| json-tui | JSON terminal UI |
| jqp | TUI playground to experiment with jq |
| emuto | Small language for manipulating and restructuring JSON and other data |
| svelte-jsoneditor | View, edit, format, transform, and validate JSON |
| qo | Query JSON, CSV, and TSV files using SQL |
| jql | Query and process JSON data |
| Janice | Desktop app for viewing large JSON files |
| unqery | Query and transform JSON data |
| Twig | Terminal JSON viewer and YAML viewer |
| jtc | Extract, manipulate and transform source JSON |
| pyfx | Python-native TUI JSON viewer |
| OTree | Interactive viewer for structured data |
| kirill | JSON validator |
| jshon | Parses, reads and creates JSON. It's designed to be as usable as possible |
| jsawk | Like awk, but for JSON |
| jiq | Interactive JSON query tool |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |



Please read our Comment Policy before commenting.