Data Conversion Tools Runs in your browser Free · no account

CSV Duplicate Remover

The CSV duplicate remover drops repeated rows while keeping the original order and the first occurrence of each. It can compare whole rows or only the columns you nominate, which is how you de-duplicate by email address while keeping the rest of each record intact.

Options
CSV 0 characters
Result

Your result will appear here.

Not sure where to start? Use Load example.

Results update automatically and are calculated on your device. Nothing you type is sent to a server.

Runs in your browser. Processing happens entirely in your browser. Nothing you enter is sent to Delimiter.live.

How to use the CSV Duplicate Remover

  1. Paste or upload the CSV file.
  2. Leave the column box blank to compare whole rows, or name the columns that identify a record — an email address or an ID.
  3. Decide whether case should matter. Email addresses are case-insensitive in practice; identifiers usually are not.
  4. Copy or download the result, or switch to duplicates-only to audit instead of clean.

Example

Input
email
ada@example.com
ADA@example.com
Output
email
ada@example.com

Common use cases

  • De-duplicating a mailing list by email address before importing it.
  • Merging two exports and removing the records that appeared in both.
  • Auditing which records were duplicated, before deciding what to do about them.
  • Cleaning a log or a report where the same row was written twice.

Limitations and things to watch for

  • The first occurrence of each record is the one kept. If you need the most recent instead, sort the file so the newest row comes first before de-duplicating.
  • Rows are compared as text. Values that mean the same thing but are written differently — 1.0 and 1, or two date formats — are treated as different.
  • Leading and trailing whitespace is ignored by default, which catches duplicates that differ only by a stray space from a copy-paste.

Frequently asked questions

Which occurrence is kept?
The first, and the original row order is preserved. To keep the most recent record instead, sort the file so the newest rows come first, then de-duplicate.
Can I de-duplicate by one column but keep all the others?
Yes — that is what the column box is for. Name the email column, and rows sharing an email address are collapsed to the first one, with every other field in that row kept as it was.
Is the header row ever removed as a duplicate?
No. With the header setting on, the first row is held aside and always written back, so it cannot be compared against the data or dropped.
How do I see what was removed?
Switch the result setting to show only rows that repeated. That returns one copy of each duplicated record rather than the cleaned file.

Share this tool