Developer Tools

CSV Deduplicator

Decide what makes two records duplicates instead of blindly comparing file lines. Use every column for exact duplicate rows or selected keys for a contact, product, or event identifier.

Free online tool

Loading tool…

172 / 500,000 characters. Processing stays in this browser.

Remove duplicate records

Limits: 10,000 data records, 200 columns, 200,000 cells. Fields remain text, including long IDs and leading zeros. Duplicate and blank headers are identified by column number.

All parsing and exports run locally in your browser. Example records are original fictional data, not an external dataset.

GET STARTED

How to use the CSV Deduplicator

  1. 01

    Load the CSV and choose which columns define a duplicate.

  2. 02

    Optionally ignore surrounding whitespace or case, then choose the first or last occurrence to keep.

  3. 03

    Inspect retained or removed records and download the retained-record CSV.

Examples

Keep the latest occurrence by file order

Select an email column and keep the last occurrence. The final appearance of each email survives; this does not inspect timestamps.

Compare normalized keys, preserve original data

With whitespace ignored, " Ada " and "Ada" can match. The retained record keeps its original spacing and spelling.

Duplicate keys use complete selected values

Selected cells are encoded together as a structured comparison key, so embedded commas or separator-like text cannot create accidental key collisions. Choosing all columns finds repeated complete records. Choosing one column may discard records with different values elsewhere, so inspect the removed-record preview before exporting.

First and last refer to input order

The first option retains the earliest matching record. The last option retains the latest matching record in the source file. Remaining records keep their relative source order. No date inference, timestamp comparison, or ranking is applied. To keep the newest by a date, prepare the appropriate order first.

Comparison options do not rewrite retained cells

Whitespace trimming and lowercase comparison affect matching only. They do not clean every cell in the output. Empty selected keys match each other. Case-insensitive matching uses JavaScript lowercase conversion, not a language-specific collation. Formula protection and BOM options are export decisions applied after deduplication.

What to know

  • Input is limited to 500,000 characters. Review the supported syntax and export policy described above.

Common questions

Why did records with different scores disappear?

Only selected comparison columns define a duplicate. Select the score too, or compare all columns, when different scores must remain separate.

Are blank identifiers considered duplicates?

Yes. Empty key values compare equal. Inspect or fill missing identifiers before deduplicating if blank-key records must all survive.

What does the removed preview export?

The download always contains retained records. The removed toggle changes the table preview only, and the output label states this.

Sources & references