CSV Cleaner
Upload a CSV and choose which cleanup steps to apply — removing blank rows, dropping entirely empty columns, trimming stray whitespace, and removing duplicate rows (optionally by a single key column) — then preview before/after and download the cleaned file.
Your file is processed on your device and is never uploaded to our servers.
Drag a CSV file here or choose one
One file at a time
What this tool does
Cleans the common mess out of a CSV: empty rows, entirely empty columns, stray whitespace around values, and duplicate rows — with a before-and-after preview.
When to use it
- A file exported from an old system with blank rows and columns scattered through it.
- Hand-collected data where stray spaces break matching.
- A list with duplicates you want removed before importing.
- A file bound for a database that should be clean first.
How to use it
- Put the CSV on the drop area or choose it.
- Turn on the "Cleaning options" you want: remove empty rows, remove entirely empty columns, trim whitespace from values, remove duplicate rows.
- For duplicates, choose "Match the whole row" or pick a specific column to judge duplicates by.
- Click "Clean data" and review the "Before/after preview" and the counts removed.
- Click "Download cleaned file".
A practical example
Input
A 500-row file with some blank rows and some duplicated by email address, with that column chosen for duplicate matching.
Output
A smaller file with counts of the empty rows and duplicates removed, and a preview showing the difference before you download.
Limitations
- Duplicate removal keeps the first occurrence and drops the rest; which copy to keep is not selectable.
- The cleaning is purely textual — it does not correct spelling or normalise date and number formats.
- Matching on a single column treats two rows as duplicates even when their other columns differ, so choose the column deliberately.
- One file at a time.
Privacy and processing
The CSV is read, cleaned and rewritten on your device, and is never uploaded.
Technical notes
- The before-and-after preview is computed from the actual cleaned data, so what you see is exactly what downloads.