Online CSV Editor & Validator — Clean Your Data Before Import
Validate types, ZIP codes, phone numbers, dates, and required fields — then fix errors in place and export to CSV, JSON, or Excel. 100% in your browser; your data never leaves your computer.
Paste, drop, or open your data
Press Ctrl+V to paste from Excel or a text file, drag a CSV or Excel workbook here, or use Open file above. The separator is detected automatically.
Help & keyboard reference–no data
Loading data
Paste (Ctrl+V) from Excel or a text editor — the separator is auto-detected
Drag & drop a CSV or Excel file onto the grid
Open file reads .csv, .tsv, .txt and Excel .xlsx/.xls; encoding auto-detected (or force it in the dropdown)
Start a blank sheet / New sheet for typing from scratch — it grows as you Tab or arrow past the edges
Editing cells
Double-click a cell to edit with the cursor where you clicked
F2 or Enter edits with the cursor at the end; just start typing to replace
Enter commits and moves down, Tab moves right, Esc cancels
Ctrl+E opens a cell with newlines/tabs in a full editor
Copy/Cut/Paste (Ctrl+C/X/V) work on ranges, Excel-compatible; Delete clears
Ctrl+Z undo, Ctrl+Y redo
Columns & rows
Click a header to sort (A→Z, Z→A, off). Empty cells go first ascending, last descending
Double-click a header to rename it (needs "First row is column names")
Drag a header to reorder; drag its edge to resize
Validate (toolbar) flags cells that don't match their column's type; Rules… opens a per-field matrix (type incl. Boolean, business formats like ZIP/phone/US state/email/NPI, required, min/max, length, allowed values, regex, custom JS, and Auto-fix). Common missing-value tokens (NULL, N/A, -, .) count as blank for Required. Show only invalid rows filters to them; fixing a cell clears its flag live
Click the type badge (I/N/D/S) for column stats and the detected format; File stats (toolbar) summarizes the whole file — rows, cells, empty rows, duplicate rows
Right-click a header, row number, or cell for context actions
Find, filter & transform
Ctrl+F or Find & replace — text, regex ($1 groups), match-case, whole-cell, scoped to selection or all
Filters row: type text, or >10<5!=x/regex/(empty)(nonempty)(dups) — (dups) shows only rows whose value repeats in that column
Transforms (right-click): UPPER, lower, Title Case, Trim, remove accents
Date format / Number format (column menu) reformat in place; Unformat strips currency/grouping to plain numbers
Empty rows & saving
Row tools bar: Highlight duplicates colors repeated rows, Show only duplicates filters to them grouped, Remove duplicates keeps the first of each
Right-click a column header → Highlight duplicate values to spot key collisions (e.g. a repeated ID); sort by that column to compare the rows before deciding what to keep
Row tools bar: Remove trailing drops blank rows at the bottom, Remove all empty clears interior blanks too
Skip trailing empty rows (footer) leaves bottom blanks out of the saved file automatically
Download CSV with your choice of separator, line ending, and header; JSON (objects when headers exist, else arrays), JSONL (one record per line), or Save as Excel. "Type JSON values" turns numbers/booleans into real types (identifiers with leading zeros stay strings)