Open a CSV file
Data stays in your browser — nothing is uploaded to a server.
Drop CSV here or click to browse
.csv, .tsv, .txt — up to ~500 MB
A CSV editor that actually handles
the hard parts for free
Most online CSV editors give you a table you can type into. This one gives you a data workbench: automatic column type detection, multi-rule filters with boolean and null operators, SQL-style group-by with aggregates, bulk transforms scoped to filtered or selected rows, undo for everything, and export to CSV, JSON, or Word — all running in your browser with no server, no account, and no file size cap imposed by an upload limit. If you work with data exports, product catalogs, payroll files, or any kind of structured list, this is the gap between Excel (too heavy) and a plain text editor (too primitive).
How to use the CSV editor
Six stages from raw file to clean export — click any step to expand it.
Open your data — three ways
Drop a CSV file directly onto the upload zone, paste raw text with any delimiter (comma, tab, pipe, semicolon, or custom), or load straight from a public URL. The first-row header toggle and custom-separator field are right there before you parse anything, so you never need to reimport because you chose the wrong setting.
How it processes your data
The entire pipeline runs in your browser tab in this exact order. No black boxes.
The key architectural decision is storing data as one array per column rather than one object per row. This means editing a single cell writes to one slot in one array — not cloning an entire row object inside a million-element array. Sort and filter produce a reordered number[] of indices; they never copy the underlying data.
Real scenarios
Three situations where opening a spreadsheet app is the wrong move.
Cleaning a customer export before CRM import
Before
- ✕email column has leading/trailing spaces
- ✕"active" column contains "TRUE", "true", "1", "yes" mixed
- ✕created_at has 4 different date formats
- ✕340 duplicate emails across 12,000 rows
After — using this tool
- ✓Trim whitespace → email column normalized in one click
- ✓Boolean type auto-detected → is-true filter works instantly
- ✓Normalize dates → all rows now YYYY-MM-DD
- ✓Remove duplicates by email → 340 rows gone, undo available
Auditing a product catalog before a supplier upload
Before
- ✕4,800-row product feed, price column is float
- ✕Need to find every product priced under £5 and over £500
- ✕Want the count and average price per category
- ✕Final file should only include active products as CSV
After — using this tool
- ✓Filter: price < 5 OR price > 500 → 217 rows flagged
- ✓Group by category, add AVG(price) + COUNT → category summary
- ✓Add second filter: status equals "active"
- ✓Export → filtered CSV, 3,941 rows, custom filename
Processing a payroll export without sending it anywhere
Before
- ✕Sensitive HR data — cannot upload to any external server
- ✕22 columns including salaries, tax codes, bank details
- ✕Finance team needs total payroll and average salary by department
After — using this tool
- ✓Opened locally — zero network requests, zero server contact
- ✓Group by department → SUM(gross_salary) + AVG(gross_salary)
- ✓Export summary as DOCX for the board pack
- ✓Original file untouched — tab closed, data gone
Questions people actually ask
The things that matter before you commit to loading a file into any tool.


