Clean duplicate contacts from a CSV — without uploading it
Paste or upload a messy CSV of contacts, map the name/email/phone columns, and find the duplicates — certain ones (same email or phone) and fuzzy ones (typos, nicknames, reordered names) alike. Nothing is merged automatically: every group is yours to review, pick a keeper, and decide.
How it works: an exact-match pass groups records with an identical normalized email or phone number. A separate fuzzy pass compares names with a real string-similarity algorithm (Levenshtein edit-distance plus token-based matching, so "Jon Smith" / "Jonathan Smith" and "Smith, Priya" / "Priya Smith" are both caught) at a sensitivity you control. Nothing is uploaded: this page makes no network requests at all.
How to use this tool
Use the dropzone below — that's the whole tool. (The downloaded version is the same tool as a file that opens in any browser, no install or internet needed.)
Paste your CSV into the text box, or click Choose a CSV file… to upload one. First row is treated as headers.
On the mapping screen, confirm which columns are Name (or First/Last), Email, and Phone — they're pre-guessed for you. Adjust the fuzzy-match sensitivity slider if you want (70% is a reasonable default).
Click Find duplicates. Certain (exact-match) and possible (fuzzy) groups are listed separately, each with every member's similarity score against the current keeper.
For each group: pick which record to Keep, then check Remove as duplicate on any others that are truly the same person. Leave genuinely different people unchecked — they'll both stay in your export.
Click Export cleaned CSV for the final file, with casing/whitespace normalized and a notes column documenting what happened to each row.
Load your contact list
CSV only, first row treated as headers. Everything happens in this tab — nothing is sent anywhere.
oror
We use one first-party analytics tool (PostHog, hosted in the EU) to understand which pages and tools are useful. It never sees your files, form contents or search terms, and session recording is off. You can change your mind at any time.