01

Open any CSV instantly.

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.

10 MB168 ms
10 GB214 ms
10 MB166 ms
10 GB168 ms
cold launch to data on screen
less-sheet showing a large CSV
less-sheet on GNOME showing a large CSV
02

Benchmarks.

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 colsCSV · 2000 colsCSV.gz
sizeopenmemoryopenmemoryopenmemory
10 KB167 ms1.2 + 59 MiB166 ms8.4 + 59 MiB
10 MB168 ms1.2 + 59 MiB219 ms7.9 + 59 MiB215 ms8.4 + 59 MiB
10 GB214 ms2.5 + 59 MiB201 ms7.9 + 59 MiB213 ms10.6 + 59 MiB

MacBook Pro, Apple M2 Pro

CSV · 10 colsCSV · 2000 colsCSV.gz
sizeopenmemoryopenmemoryopenmemory
10 KB151 ms0.8 + 68 MiB158 ms7.9 + 68 MiB
10 MB166 ms0.8 + 68 MiB179 ms6.9 + 67 MiB258 ms7.9 + 68 MiB
10 GB168 ms2.3 + 68 MiB182 ms6.9 + 67 MiB259 ms9.5 + 68 MiB

Arch Linux, Ryzen 3600, Samsung 960 EVO

03

Quick toggles for the most common parameters.

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.

Separator and quote controls over the grid
separator guessed from the file — one click to override
separator guessed from the file — one click to override
separator guessed from the file — one click to override
04

Search & filter.

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.

Text search with live match count
live match count, every visible match highlighted
Typed column predicate
typed column predicates
live match count, every visible match highlighted
live match count, every visible match highlighted
typed column predicates
typed column predicates
05

Where a spreadsheet struggles.

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 · LibreOfficeless-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
06

Free. Tiny. No account. No telemetry.

macOS and Linux, both available now.

macOS

Download 0.1.0 · .dmg

macOS 26.0+ · Apple silicon · ~3 MB
reads csv · csv.gz · http(s)

Homebrew
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
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
First launch needs one extra step. less-sheet is not notarized by Apple, so the .dmg and the Homebrew install are both blocked once. Press Done — not Move to Trash — then open System Settings → Privacy & Security and press Open Anyway. The curl line is not affected.

Linux

Download 0.1.0 · Flatpak

x86_64 · runs on any distribution
reads csv · csv.gz · http(s)

Flatpak
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.

tarball
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.