less-sheet — open huge spreadsheets instantly

4 min read Original article ↗

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.

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 the whole app at rest with the file open, as Activity Monitor or a task manager shows it. It stays in one band from ten kilobytes to ten gigabytes: the band is set by the toolkit and the display, not by the data. Times are medians of ten cold launches; memory is the highest value seen across the three file sizes.

CSV · 10 colsCSV · 2000 colsCSV.gz
sizeopenmemoryopenmemoryopenmemory
10 KB180 ms60 MiB—105 MiB190 ms65 MiB
10 MB180 ms225 ms215 ms
10 GB180 ms225 ms255 ms

MacBook Pro, Apple M2 Pro, macOS 26

CSV · 10 colsCSV · 2000 colsCSV.gz
sizeopenmemoryopenmemoryopenmemory
10 KB75 ms18 MiB—23 MiB75 ms24 MiB
10 MB75 ms80 ms105 ms
10 GB75 ms80 ms105 ms

Arch Linux, Intel Core i7-12700, Samsung 980 PRO

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.

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.

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.2 · .dmg

macOS 26.0+ · Apple silicon · 3 MB

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/releases/download/v0.1.2/less-sheet-0.1.2-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.2 · Flatpak

x86_64 · runs on any distribution

Flatpak

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install ./less-sheet-0.1.2-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.

tarball

curl -fsSL https://github.com/te-x/less-sheet/releases/download/v0.1.2/less-sheet-0.1.2-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.