less-sheet is a native, read-only tabular data viewer, focused on speed and low memory use whatever the file size. It supports CSV, CSV.gz and Parquet, from local files or HTTP(S) URLs.
It never loads the whole file into memory, only the minimum needed to fill the window.
Open from the file picker, the command line, a URL, or simply drop a file onto the window.
Time and memory to get your first look at the data. Both barely move as the file grows.*
* Very wide CSVs — thousands of columns — do add to the load time.
Memory is the app at rest with the file open. Its footprint depends on the toolkit, graphics driver, and display. Times are medians of ten fresh process launches after a warm-up, with filesystem and driver caches warm. Memory is the highest of three samples per file size; figures are rounded to the nearest 5 ms and up to the next 5 MiB.
| CSV · 10 cols | CSV · 2000 cols | CSV.gz | ||||
|---|---|---|---|---|---|---|
| size | open | memory | open | memory | open | memory |
| 10 KB | 180 ms | 60 MiB | — | 105 MiB | 190 ms | 65 MiB |
| 10 MB | 180 ms | 225 ms | 215 ms | |||
| 10 GB | 180 ms | 225 ms | 255 ms | |||
MacBook Pro, Apple M2 Pro, macOS 26
| CSV · 10 cols | CSV · 2000 cols | CSV.gz | ||||
|---|---|---|---|---|---|---|
| size | open | memory | open | memory | open | memory |
| 10 KB | 160 ms | 100 MiB | — | 135 MiB | 150 ms | 105 MiB |
| 10 MB | 160 ms | 160 ms | 190 ms | |||
| 10 GB | 160 ms | 160 ms | 195 ms | |||
Linux · Intel Core i7-12700 · Samsung 980 PRO
For CSV files, separator, quote character, header row and text encoding are detected from the file itself. You open the file and read it — there is no import step.
When a guess is wrong, each of those is a live control: change it and the open document re-renders in place. No closing, no re-importing, no starting over.
Quickly find content across the entire file, or filter down to just the rows you need. Sort any column directly from its header.
Completed searches are remembered while you move between Find, Where and filtering, so returning to the same query does not scan the file again.
Copying returns the underlying values, regardless of any formatting you applied in the viewer.
Spreadsheets like Excel and LibreOffice are powerful tools, built to edit and compute. But they load the whole file into memory, interpret its contents, cap how many rows it can have, and make changing the parsing options slow.
less-sheet loads the bare minimum and guesses the parsing options from the data. You can change them easily when it guesses wrong.
| Excel · LibreOffice | less-sheet | |
|---|---|---|
| opening | Imports the whole file before showing anything | Reads only what is needed for the viewport |
| row limit | 1,048,576 | None |
| your values | Rewritten on import unless you catch it — leading zeros
dropped, 1-5 becomes a date, long IDs go
scientific |
Never modified; copy returns the original |
| separator, quote | A one-shot import dialog, before you see the data | Live controls, after |
| memory | Scales with the file | Flat |
macOS and Linux, both available now.
macOS 26.0+ · Apple silicon · 3 MB
brew tap te-x/tap
brew trust --cask te-x/tap/less-sheet
brew install --cask less-sheet
Homebrew will not load a third-party tap until you say so. The middle line trusts this one cask, not the whole tap.
curl -fsSL https://github.com/te-x/less-sheet/releases/download/v0.1.9/less-sheet-0.1.9-macos-arm64.tar.gz | tar -xz -C /Applications
x86_64 · runs on any distribution
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install ./less-sheet-0.1.9-x86_64.flatpak
flatpak run com.lesssheet.LessSheet
Uses the GNOME 49 runtime, which Flatpak fetches from Flathub if you don’t already have it. The first line only adds Flathub as a source; on most desktops it is already there.
curl -fsSL https://github.com/te-x/less-sheet/releases/download/v0.1.9/less-sheet-0.1.9-linux-x86_64.tar.gz | tar -xz
./less-sheet/install.sh
x86_64 and aarch64 · 1.1 MB · installs to
~/.local/bin, no root
Uses your system’s GNOME libraries, so it follows your theme —
but needs glibc 2.34+, GTK 4.20 and libadwaita 1.8.
Debian 13 ships GTK 4.18 and will not run this build.
Use the Flatpak.