Working with large datasets from the Linux command line typically involves chaining together text-processing utilities like awk, grep, cut, and sed, or launching memory-heavy desktop spreadsheet applications. When datasets exceed hundreds of megabytes or contain nested data formats like JSON, SQLite, and TSV, these workflows become slow and cumbersome. VisiData (invoked via the vd command) is a free, open-source terminal spreadsheet and multitool designed to explore, clean, filter, and summarise massive tabular datasets interactively without leaving your shell session.
Installing VisiData on Linux Distributions
VisiData is written in Python and is packaged across official software repositories for major Linux distributions as well as via the Python Package Index (PyPI).
Installing on Ubuntu, Debian, and Linux Mint
On Debian-derived distributions, install VisiData using apt:
sudo apt update
sudo apt install visidata
Installing on Fedora, RHEL, and AlmaLinux
On Red Hat-based distributions, install VisiData using dnf:
sudo dnf install visidata
Installing on Arch Linux and Manjaro
On Arch-based distributions, VisiData is available directly in the official repositories:
sudo pacman -S visidata
Installing the Latest Release via pipx or pip
To ensure access to the newest releases, formats, and plugins across any distribution, install VisiData into an isolated virtual environment using pipx:
sudo apt install pipx && pipx ensurepath
pipx install visidata
Opening Datasets and Navigating Sheets
To open any supported tabular or nested file format (including CSV, TSV, JSON, SQLite, Parquet, or Excel files), execute vd followed by the file path:
vd sales_records.csv
VisiData streams the dataset incrementally into a terminal spreadsheet matrix. Navigation follows intuitive vi-style keystrokes:
h,j,k,lor Arrow Keys: Move the active cursor left, down, up, and right across cells.Ctrl + F/Ctrl + B: Scroll forward or backward by one full page.gh/gl: Jump to the first or last column in the current row.gk/gj: Jump to the very top or bottom row of the dataset.q: Close the active sheet or return to the previous view.Ctrl + Q: Quit VisiData entirely.
Essential VisiData Keystroke Commands
The table below summarizes the most critical keystrokes for daily data wrangling in VisiData:
| Key / Keystroke | Mode / Action | Operational Description |
|---|---|---|
Shift + F |
Frequency Table | Generates a grouped frequency breakdown showing distinct values and counts. |
[ / ] |
Sorting | Sorts the dataset by the active column in ascending ([) or descending (]) order. |
| |
Regex Selection | Selects and highlights rows where the active column matches a regular expression. |
" |
Filtered Sub-Sheet | Pushes all selected rows into a new, isolated sheet for targeted analysis. |
~ |
Type Casting | Sets the active column type to Text (string). |
# |
Type Casting | Sets the active column type to Integer. |
% |
Type Casting | Sets the active column type to Float / Decimal number. |
^ |
Rename Column | Edits and renames the header label of the current column. |
Ctrl + S |
Save Sheet | Exports the current view or filtered dataset into CSV, TSV, or JSON. |
Filtering and Creating Instant Frequency Tables
Two of VisiData’s most powerful capabilities are instant frequency profiling and regex-based row filtering:
- Creating Frequency Tables: Position your cursor on any column (such as a
DepartmentorCountrycolumn) and pressShift + F. VisiData instantly generates a new summary sheet displaying every unique category, row frequency count, and percentage distribution. - Filtering by Value: Inside the frequency sheet, move to a category you wish to isolate and press
Enter. VisiData opens a new sheet containing only the underlying rows belonging to that category. - Filtering with Regular Expressions: On any standard table, press
|(pipe), type a regex pattern (for example,^London|Paris$), and pressEnter. Matching rows are highlighted in yellow. Press"(double quote) to open those highlighted rows in an independent working sheet.
Exporting Filtered and Cleaned Data
Once you have finished filtering, reordering, and modifying your dataset inside VisiData, you can export the exact active view to disk:
- Press
Ctrl + S. - The status bar at the bottom prompts:
save to: [filename.tsv]. - Enter your desired file name with the corresponding extension (e.g.,
cleaned_export.csvorsummary.json). - Press
Enterto write the file directly to your working directory.