Clean a delimited file step by step: trim cell whitespace, drop blank rows, convert empty values to NULL or a fill value, change case of every cell, and remove duplicate rows by the whole row or selected key columns (keep first / last, with case and whitespace normalization options).
Each step applies instantly with a full undo stack. Delimiter detection, BOM handling and quote-safe parsing are automatic.
All processing happens locally in your browser — your data is never uploaded to any server.
Output delim:
— used for preview text and downloads
Input options:
Input CSV / TSV
Cleaning steps
Step:
Trims leading and trailing spaces / tabs from every cell. A cell that becomes empty stays an empty cell (see “Convert empty cells” for the next step).
Removes rows where every cell is empty or contains only whitespace.
Empty cells:
columns (names, comma-separated; leave empty for all columns):
Case:
Duplicate keys:
key columns (names, comma-separated):
Live preview
paste or open a file to see the parsed grid — every step updates this preview.
Trim cleans ragged padding around quoted fields. Drop blank rows removes rows that are empty after trimming.
Empty cells turns empty cells into the literal text NULL (or your fill value) in all columns, or only in the listed columns.
Case converts every cell; empty cells stay empty.
Deduplicate compares whole rows or the selected key columns; normalization options make John and john equal.
Rows removed by each step are counted in the step list. Downloads use the selected delimiter and CRLF line endings.
Data cleaning — fix values, keep structure
Data cleaning fixes cell values — whitespace, casing, blanks, duplicates — without touching the table’s structure. The typical order is trim first, then drop blank rows, then deduplicate, because trimming changes what counts as blank or equal. Deduplicate by key columns rather than whole rows when only business keys matter, not formatting noise.