Open source · MIT · Built with Tauri & Rust

Open a million rows
in a blink.

CEESVEE is a fast, faithful CSV & delimited-file editor. Open huge files instantly, edit them like a spreadsheet, and save them back — your delimiters, encoding, and quoting preserved, exactly.

Get CEESVEE

Free & open source · Windows, macOS, Linux

View on GitHub
1,000,000-row files100% local · no telemetryWindows · macOS · Linux
CEESVEE editing a CSV of employees in a dark-themed spreadsheet grid
1,000,000

rows, scrolled smoothly

100 MB+

files open in a blink

Zero

telemetry or trackers

MIT

free & open forever

Features

Everything a CSV deserves. Nothing it doesn't.

Built around one priority: be fast and faithful on large, real-world delimited files.

Fast on huge files — by design, not by luck.

The dataset lives in Rust; the UI is canvas-rendered and only ever fetches the rows it is about to draw. Opening and smoothly scrolling a 1,000,000-row, 100 MB+ file is a core requirement here — not a stretch goal.

get_rows(start, count)
998,012AdaLovelaceEngineering
998,013GraceHopperResearch
998,014AlanTuringApplied

Faithful round-trips

Parse → edit → save preserves your data. You control delimiter, encoding, quoting, line endings, and BOM on export — no silent reformatting.

Keyboard-first

Excel-style navigation and shortcuts so it feels instantly familiar. Your hands never have to leave the keys.

Auto-detect, always right

Delimiter (comma, tab, semicolon, pipe) and encoding (UTF-8, UTF-16, Windows-1252) detected automatically — with manual overrides and correct BOM handling.

Find & replace, regex too

Plain text or full regular expressions, scoped to a selection or the whole file. Search a million rows without breaking a sweat.

Multi-column sort

Sort ascending or descending across multiple keys at once — stable, predictable, and reversible.

Undo / redo, deep

A Rust-backed command stack means Ctrl+Z and Ctrl+Y just work — even a paste lands as a single, reversible step.

Live selection stats

Select a range and the status bar shows count, sum, average, min, and max instantly — quick answers without a formula.

Tabs & recent files

Open many files at once in tabs, jump back through your recent-files list, and keep a frozen header row in view.

Light & dark themes

A restrained, dense-but-readable interface that follows your OS appearance preference automatically.

File associations

Set CEESVEE as the default for .csv / .tsv / .tab / .psv, or right-click → Open with. A second file opens as a new tab, not a new window.

How it works

Open, edit, save. That's the whole story.

No import wizards, no upload, no cloud. Just a fast desktop app that respects your files.

01

Open anything

Drop in a CSV, TSV, or any delimited file. CEESVEE auto-detects the delimiter and encoding — and hands you the override if it ever guesses wrong.

02

Edit like a spreadsheet

Inline cell editing, multi-cell selection, Excel-compatible copy/paste, insert and reorder rows and columns, sort, find & replace — all keyboard-first.

03

Save without surprises

Save or Save As with explicit export options: delimiter, encoding, quoting style, line endings, and BOM. What you meant is what you get.

Architecture

One rule: Rust owns the data, the front end owns rendering.

Rust owns the data

The whole file is parsed and held in a mutable in-memory model on the Rust side, with dirty tracking and an undo/redo stack. The front end never holds the whole file.

The UI owns rendering

A canvas-rendered, virtualized grid requests only the row windows it needs to draw — so a million rows feels like ten.

Heavy work, off the UI thread

Reading and parsing run off the main thread, so the interface never blocks — even on a 100 MB+ file.

React + Glide Data Grid

Virtualized grid · only visible rows · optimistic edits

get_rows(start, count) ↓↑ rows + dirty map

Rust core (Tauri)

parse + encoding · in-memory model · undo / redo stack

Download

Free for every desktop you use.

Pre-built installers for Windows, macOS, and Linux — straight from GitHub Releases. No account, no payment, no catch.

First release is being prepared — star the repo to know when it lands

Windows

Windows 10 & 11

Builds are on the way

Watch the repo to be notified, or build from source below.

View releases

macOS

Apple Silicon & Intel

Builds are on the way

Watch the repo to be notified, or build from source below.

View releases

Linux

AppImage & .deb

Builds are on the way

Watch the repo to be notified, or build from source below.

View releases

A note for macOS

Builds are currently unsigned. On first launch, right-click the app and choose Open, or run:

xattr -dr com.apple.quarantine /Applications/CEESVEE.app

Prefer to build it yourself?

Node 18+ and Rust stable. Installers land in src-tauri/target/release/bundle/.

git clone https://github.com/soldforaloss/ceesvee.git
cd ceesvee
npm install
npm run tauri build

Open source, and proud of it.

CEESVEE is MIT-licensed and built in the open. No tracking, no accounts, no cloud — your data never leaves your machine. Read the code, file an issue, or send a pull request. Contributions are genuinely welcome.

On the roadmap

Issues →
  • Per-column type detection & summaries
  • Filtering / query view
  • Frozen (pinned) leading columns
  • Drag-and-drop to open files
  • Signed & notarized macOS / Windows builds
  • Large-file streaming export

Non-goals for v1: formulas, charts, scripting, and cloud sync.

FAQ

Questions, answered.

Yes — completely free and open source under the MIT license. There's no paid tier, no trial, and no account. Download it, use it, and share it however you like.

Entirely. CEESVEE is a desktop app: your files are opened and edited locally and never uploaded anywhere. There is no telemetry, no analytics, and no network calls with your data.

Opening and smoothly scrolling a 1,000,000-row, 100 MB+ file is a core design requirement. The data lives in a Rust core and the canvas-rendered grid only fetches the rows it's about to draw, so the UI stays responsive on files that choke typical spreadsheet apps.

CSV, TSV, and other delimited files (.csv, .tsv, .tab, .psv and more), with auto-detected delimiters and encodings. CEESVEE runs on Windows, macOS (Apple Silicon + Intel), and Linux.

No — that's the whole point. Parse → edit → save preserves your data, and on export you explicitly control the delimiter, encoding, quoting style, line endings (LF/CRLF), and BOM. What you meant is what gets written.

The macOS builds are currently unsigned and un-notarized (notarization needs a paid Apple Developer account). On first launch, right-click the app and choose Open, or run the xattr command shown in the download section. Signed builds are on the roadmap.

Yes. You can associate .csv / .tsv / .tab / .psv files with CEESVEE, or use right-click → Open with. Opening another file while CEESVEE is running adds a tab instead of launching a second window.