A native macOS app for viewing and editing CSV files. It opens multi-gigabyte files in a few seconds by indexing the file up front and only reading the rows you're actually looking at, so memory stays flat no matter how big the file gets.
Open the DMG, drag CSV Viewer to your Applications folder, then read First launch. The app is unsigned, so macOS blocks it the first time you open it.
- Opens huge files quickly. On open it builds a byte-offset index in one streaming pass (roughly a few seconds per GB), then reads only the rows in view. A 10 GB file uses about as much memory as a 10 KB one.
- Lets you edit in place: click a cell to change it, add or remove or reorder rows and columns, and undo/redo anything.
- Has a search box with case and regex options, plus a filter panel that combines per-column conditions with AND or OR (contains, equals, regex, numeric comparisons, and so on).
- Does find and replace across the whole file.
- Sorts and filters by any column.
- Detects the delimiter (comma, tab, semicolon, pipe) and encoding (UTF-8, UTF-16, Windows-1252) when you open a file, and keeps them when you save.
- Flags parsing problems, like rows with the wrong number of fields or a mismatched encoding.
- Never rewrites the original file until you hit save, and saves atomically. Edits live in an overlay in the meantime. CSV rows are variable-length, so saving rewrites the whole file, which means saving a multi-gigabyte file takes a few seconds.
CSV Viewer isn't signed with an Apple Developer ID, so macOS blocks it the first time. You only have to do this once:
- In Applications, right-click (or Control-click) CSV Viewer, then choose Open, then Open again.
- If newer macOS still blocks it, open System Settings → Privacy & Security, scroll down, and click Open Anyway.
- Or, from a terminal:
/usr/bin/xattr -dr com.apple.quarantine "/Applications/CSV Viewer.app"
You'll need Node 18 or newer and a Rust toolchain.
npm install
npm run tauri build # builds the .app bundle
# or, for development with hot reload:
npm run devIt's built with Tauri 2 for the Rust backend and React with AG Grid for the frontend.
MIT © 2026 Alyetama
