Free CSV cleaner and duplicate remover

Drop in a messy export. Choose the fixes, see how many cells and rows each one changed, and download a cleaned file plus a separate file of every duplicate that was removed and the row it matched.

Runs in your browser. Your file is never uploaded.

You can also drop a file anywhere on this page. Up to 50 MB.

Options

Result

Paste CSV or choose a file, and the cleaned preview appears here.

How it works

  1. 1

    Paste CSV or choose a file

    The separator is detected for you, and files saved by Excel on Windows are read correctly.

  2. 2

    Choose the fixes

    Every fix shows how many cells or rows it changed. To match duplicates on an email or ID column, choose "Match on chosen columns" and tick them.

  3. 3

    Download both files

    The cleaned file keeps your columns in the same order. The removed-rows file lists each duplicate with its original row number and the row it matched.

Which duplicate is kept
The first one. Every later match goes to the removed-rows file with the row number of the one that was kept.
Blank values
Rows that are empty in every matching column are never treated as duplicates of each other, so contacts without an email stay in the file.
Ignoring capitals and spaces
With this on, [email protected] and [email protected] match. The kept row's values are left exactly as they were.

Questions

Does it change anything I didn't select?

No. Values aren't reformatted, columns stay in the same order, and the separator stays the same as the file you started with.

Where do row numbers come from?

They match the row numbers you'd see in a spreadsheet, so the header is row 1 and the first record is row 2.

How big a file can it handle?

Up to 50 MB. Most computers handle that in a few seconds. If you convert files that size on a regular schedule, a small automated job is usually the better fit.

Is my file uploaded anywhere?

No. The conversion runs in your browser with the JavaScript on this page. Your data never leaves your computer, and nothing is kept after you close the tab.

Cleaning the same file every week?

I build pipelines that clean, check, and load data on a schedule, and set aside the rows a person needs to look at.