Skip to content

CSV Deduplicator

Removes duplicate rows on all or selected key columns, keeping the first, last or most complete row.

Removes duplicate rows, on the whole row or on the columns you nominate as the key. Which copy survives is a choice, not a default: the first, the last, or the one with the fewest empty cells so a half-filled duplicate does not overwrite a complete record.

🔒 Runs entirely in your browsercsvdedupeclean

Drop a CSV or TSV

Read in this tab. Nothing is uploaded. Files from Korean, Japanese, Chinese and Western Excel (CP949, Shift_JIS, GBK, Windows-1252) are recognised.

How to use it

  1. Choose the key columns

    None selected means every column, which finds only exactly identical rows. Selecting an email column finds two rows for the same person even when their address differs.

  2. Decide which copy to keep

    Last is right when you have appended a newer export to an older one. Most complete is right when the duplicates came from different sources and each filled in different fields.

  3. Look at what was removed

    The removed rows are a table of their own and downloadable. Deduplication is destructive, and seeing what went is how you find out the key was wrong before it matters.

Common questions

Two rows look identical but both survived

Something invisible differs. A trailing space is the usual one — turn on Ignore surrounding spaces. Hangul written as separate jamo by macOS is the other, and the CSV cleaner fixes that one.

Is the row order preserved?

Yes. Rows come out in the order they went in, minus the ones removed, so a file sorted by date stays sorted by date.

What counts as a duplicate for a number?

The cell values as the file was read. If one row says 1000 and another says 1,000 and the column came in as text, they are different. Run the CSV cleaner’s "numbers stored as text" fix first and they will match.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.