Unique

less-sheet

A CSV viewer that never imports the file — only the rows the window needs, so 10 GB opens as fast as 10 KB

A dark-themed window titled .fixture-2000.csv showing a numbered spreadsheet grid — columns order_id, order_date, city, region, qty, unit_price, sku, status, notes — with a row of small toolbar icons for search, undo, and settings in the bottom right corner.

less-sheet opens a 10 GB CSV in the same 180 milliseconds it takes to open a 10 KB one, because it never imports the file — it reads only the rows the window is currently showing.

The core is a Zig engine behind a frozen C ABI, wrapped in genuinely native frontends: Swift 6 and AppKit on macOS, C and GTK4/libadwaita on Linux. Today it reads one format — CSV, plain or gzipped, local or streamed over HTTP — with more promised, not shipped.

The headline number holds up, and the maker shows its work rather than just asserting it. On a MacBook Pro (M2 Pro, macOS 26), a 10-column CSV opens in 180 ms and holds 60 MiB of memory at 10 KB, 10 MB, and 10 GB alike — medians of ten cold launches, memory taken as the peak across sizes. On an Arch Linux box (Core i7-12700, Samsung 980 Pro), the same file opens in 75 ms at 18 MiB. Both machines are named; both are the maker’s own rigs, not a third party’s. The flatness has one honest crack: it holds against row count, not column count. Widen the same file to 2000 columns and macOS climbs to 225 MiB and up to 255 ms for a gzipped file — still fast, no longer flat.

The find undersold it. Beyond viewing, less-sheet does full-text search with a live match count and highlighting, plus typed per-column filter predicates — neither mentioned in the capture. Separator, quote character, header row, and encoding are guessed from the file and stay live controls after opening; change one and the document re-renders in place, no re-import. There’s no row cap, against Excel’s 1,048,576, and copying a cell returns the original bytes — no dropped leading zeros, no ID silently read as a date.

The read-only claim is exactly as absolute as it sounds: nothing you do in the viewer changes the file, and there’s no editing mode to reach for. There’s also no sorting, no formulas, and no documented behavior for malformed rows — the speed comes from a program that has opted out of understanding the data, not one that understands it faster. Platform requirements bite too: macOS needs 26.0 and Apple silicon, with no Intel build, and the app isn’t notarized, so the first launch is blocked until you approve it in System Settings. Linux needs GTK 4.20 and libadwaita 1.8 or newer — Debian 13’s stock GTK is too old, and the site says so, pointing to the Flatpak instead. Windows isn’t supported and isn’t on the roadmap. The project itself is two days old as of this writing, MIT-licensed, and free.

te-x.github.io ↗

← back