Remove Duplicates from CSV: Free CSV Dedupe Tool

Paste a CSV with its header row, choose whether duplicates are matched by email, by another column or by the whole row, and copy the clean CSV back. Case and extra spaces are ignored, the first copy is kept, and each removed row is listed. It runs in your browser: nothing is uploaded. Free.

Works with contact, lead and company exports from any CRM, spreadsheet or email tool, separated by commas, semicolons or tabs. Up to 10,000 rows at a time. Results update as you type, and the text stays in this browser until you start over.

CSV dedupe example

A contact export has seven rows. Anna appears twice, once with capitals and a trailing space in her email; Ben appears twice with a different company name; Dana has no email.

RowResult
Row 4: Anna@Northwind.comRemoved, repeats row 2
Row 7: ben@contoso.comRemoved, repeats row 3
Row 6: no emailKept
Rows after5 of 7

Matched by the Email column, 2 duplicates are removed and the first copy of each contact is kept. Matched by the whole row instead, only Anna’s second row goes, because Ben’s two rows differ in the company.

How to dedupe a CSV before an import

Clean data before you move it

Removing duplicates is one step of the CRM migration checklist. To check the rest of your data, run the CRM audit checklist, and fill in missing addresses with the email format finder.

Frequently asked questions

How do I remove duplicates from a CSV file?

Open the CSV in any text editor or spreadsheet, copy everything including the header row and paste it here. Choose what makes two rows the same, usually the email address, and copy the clean CSV back into a new file. Nothing is uploaded.

How are duplicates matched?

By the email column, by a column you name, or by the whole row. Letters are compared without case and extra spaces are ignored, so “Anna@Northwind.com ” and “anna@northwind.com” count as the same contact. Rows with an empty email are kept, not merged.

Which copy is kept?

The first copy of each duplicate, in its original place. Tick “Keep the last copy” if newer rows are at the bottom of your export and should win instead. The list under the result shows which rows were removed and which row each one repeats.

Does it work with semicolons, tabs and quotes?

Yes. The separator is detected from the header row: comma, semicolon or tab. Fields in double quotes can contain commas and line breaks, and doubled quotes inside them are read as one quote, as in RFC 4180. The clean CSV uses the same separator.

Why clean duplicates before a CRM import?

Duplicate contacts split the history of one person across two records, so reps miss emails and calls, reports count people twice and the same lead can get two sequences. Removing duplicates before the import is much easier than merging records afterwards.

Is my CSV uploaded or stored?

No. The file is read in your browser and the text is saved only in this browser so you can come back to it. Nothing you paste is sent to SalesBond or anyone else. Click Start over to clear it.

Related tools: CRM migration checklist, CRM audit checklist, email format finder. More on sales and running a sales team on the SalesBond blog and the home page.

Official sources

Updated on Nov 7, 2026. This calculator is for information only and is not tax, legal or payroll advice. Duplicates are matched on exact text after ignoring case and extra spaces; similar names or typos in an email are not merged.

Your next win is already in your pipeline.

Connect your CRM in a few clicks. SalesBond shows what's working, what needs attention, and what your team should do next.

Run my free pipeline check →
Connect in a few clicks · No credit card · Full Pro access for 7 days
SalesBond husky inviting you to connect your CRM