ConvertCSV · Validator
Empty rows Duplicates Tags Transform
Header Separator Quoting Lines

CSV Validator — Check Your Data Before Import

Validate data types, ZIP codes, phone numbers, NPIs, US states, dates, and required fields against per-column rules — 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.

Just need to view and edit? Try the Online CSV Editor.

What it checks

Set per-column rules and the validator flags every cell that doesn't match — then fix errors in place before you import. Common checks:

  • Data types & formats — number, integer, boolean, date, and required fields, with configurable missing-value handling (NULL, N/A, and custom sentinels).
  • Business fields — validate ZIP codes, US phone numbers, US state codes, email addresses, SSN, EIN, and NPI (with Luhn checksum) — and normalize them to a consistent format.
  • Time series gaps — find missing dates in a daily, weekly, or monthly series (no pandas, no SQL) — including Unix epoch timestamps in seconds or milliseconds.
  • Sequence gaps — spot holes in numeric ID or invoice sequences (1001, 1002, 1004 → 1003 missing).
  • Duplicates & blanks — highlight duplicate rows, empty rows, and columns with missing values.

Everything runs in your browser — your data is never uploaded. Export clean data to CSV, JSON, JSONL, or Excel, and save your validation rules to reuse on the next file.

Help & keyboard referenceno 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)