less-sheet is a native, read-only viewer for spreadsheet-sized data, focused on speed and low memory use whatever the file size. Today it reads CSV — plain or gzipped, local or streamed from a URL — with more formats coming.
It never loads the whole file into memory, only the minimum needed to fill 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 quoted as engine + window. Only the first number is about your file, and it is the small one: ten gigabytes, a hundred and thirty-five million rows, rests in under three megabytes. The second is the window itself, and it does not move whatever you open.
| CSV · 10 cols | CSV · 2000 cols | CSV.gz | ||||
|---|---|---|---|---|---|---|
| size | open | memory | open | memory | open | memory |
| 10 KB | 167 ms | 1.2 + 59 MiB | — | — | 166 ms | 8.4 + 59 MiB |
| 10 MB | 168 ms | 1.2 + 59 MiB | 219 ms | 7.9 + 59 MiB | 215 ms | 8.4 + 59 MiB |
| 10 GB | 214 ms | 2.5 + 59 MiB | 201 ms | 7.9 + 59 MiB | 213 ms | 10.6 + 59 MiB |
MacBook Pro, Apple M2 Pro
| CSV · 10 cols | CSV · 2000 cols | CSV.gz | ||||
|---|---|---|---|---|---|---|
| size | open | memory | open | memory | open | memory |
| 10 KB | 151 ms | 0.8 + 68 MiB | — | — | 158 ms | 7.9 + 68 MiB |
| 10 MB | 166 ms | 0.8 + 68 MiB | 179 ms | 6.9 + 67 MiB | 258 ms | 7.9 + 68 MiB |
| 10 GB | 168 ms | 2.3 + 68 MiB | 182 ms | 6.9 + 67 MiB | 259 ms | 9.5 + 68 MiB |
Arch Linux, Ryzen 3600, Samsung 960 EVO
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.
Copying returns the original bytes, 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 | Shows the viewport; reads nothing else |
| 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
reads csv · csv.gz · http(s)
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-site/releases/download/v0.1.0/less-sheet-0.1.0-macos-arm64.tar.gz | tar -xz -C /Applications
x86_64 · runs on any distribution
reads csv · csv.gz · http(s)
flatpak install ./less-sheet-0.1.0-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.
curl -fsSL https://github.com/te-x/less-sheet-site/releases/download/v0.1.0/less-sheet-0.1.0-linux-x86_64.tar.gz | tar -xz
./less-sheet/install.sh
x86_64 and aarch64 · ~0.8 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.