Etoolio

CSV Merge & Dedupe

Free CSV merge and dedupe tool. Combine two lists and remove duplicate rows, exact or fuzzy (so Jon Smith matches John Smith), match on any column, preview what was removed and export a clean CSV. Private.

List A (CSV or one entry per line)
Match on
Strictness: 85%

Merge two lists and kill the duplicates, exactly

Combining two exports or cleaning a contact list sounds simple until you hit the duplicates: the same person twice, or 'Jon Smith' and 'John Smith' who are really one contact. This free tool merges your lists and removes both exact and near-duplicate rows, shows you exactly what it did, and gives you a clean CSV back, all in your browser.

What it does

  • Merge two lists into one, or clean a single list.
  • Match on any column (like Email) or the whole row.
  • Exact and fuzzy matching: fuzzy catches near-duplicates such as typos, extra spaces and small name variations.
  • Full preview: see every duplicate group, which row was kept and which were removed.
  • Export the cleaned list as a CSV or copy it.

Why a real tool beats pasting into a chatbot

Data hygiene has to be exact. Chat models quietly truncate long lists and can drop or invent rows, so you never quite trust the output, and for a contact or product list that is dangerous. This tool processes every row deterministically, never truncates, and shows you a preview of exactly what it removed. Because it runs in your browser, your customer data never leaves your device, which most online dedupe tools cannot promise.

Exact versus fuzzy

Use exact matching on fields that should be identical, like an email address or an ID: two rows are duplicates only if that value matches character for character. Use fuzzy matching on messy human-entered fields like names and addresses, where the same person is written slightly differently each time. The strictness slider controls how close two entries must be before they are merged, so you can be aggressive on obvious typos or conservative to avoid merging genuinely different people.

Private and free

Everything runs in your browser: parsing, matching and export. Nothing is uploaded. It is free and unlimited within your browser's memory, and handles standard comma-separated values with quoted fields.

Good to know

CSV Merge & Dedupe, frequently asked questions

What does the CSV merge and dedupe tool do?

Paste one or two lists and it combines them and removes duplicate rows. You choose which column to match on (or the whole row), and whether to catch only exact duplicates or also near-duplicates with fuzzy matching, for example 'Jon Smith' and 'John Smith'. It shows you exactly which rows it kept and removed, and lets you download a clean, merged CSV.

Why not just ask ChatGPT to dedupe my list?

Because chat models truncate long lists, and they can silently drop or invent rows, which is the fastest way to corrupt a contact or product list. This tool processes every row deterministically and exactly, with no truncation, shows you a preview of every duplicate it found, and keeps your data private by running in your browser.

What is fuzzy matching and when should I use it?

Fuzzy matching catches entries that are almost the same but not identical, like 'Jon Smith' versus 'John Smith', or a name with an extra space or a typo. Turn it on and set the strictness: a higher percentage only merges very close matches, a lower one merges more loosely. Use it for messy human-entered data like names and addresses; leave it off when you need exact matching, like on an ID or email.

Can I match on a specific column?

Yes. If your data has a header row, pick the column to match on (for example Email), and rows are treated as duplicates when that column matches, even if other columns differ. Or match on the whole row to remove only fully identical rows. This lets you dedupe a contact list by email while keeping the first occurrence's other details.

Does it merge two different lists?

Yes. Paste your main list in the first box and a second list in the second, and it merges them into one, removing duplicates across both. This is ideal for combining two exports, two sign-up sources, or an old and a new list without ending up with repeats.

Is my data uploaded anywhere?

No. Parsing, matching and export all happen in your browser. Your list is never sent to a server, which matters when it contains customer or contact data. It handles standard comma-separated values with quoted fields.

Is it free?

Yes, free with no signup, and unlimited within your browser's memory. Copy the result or download it as a CSV.