Contact List Deduplicator
Paste a contact list and merge duplicates matched on email, phone or name.
What this tool does
A contact list deduplicator reads pasted contacts, normalises the identifying fields - lowercasing emails, stripping phone formatting down to digits, tidying names - and merges the records that turn out to be the same person. Matching runs on email first, then phone, then name, and every merge it makes is listed explicitly, because a deduplicator that silently deletes rows is worse than the duplicates. The output is the cleaned list plus a report of what was combined.
Pastes a contact list and merges records matching on email, phone or name.
Normalises phone formats and email case before deciding two records are the same.
Shows every merge it makes, so nothing disappears silently.
Keeps extra details from both records when a merge combines them.
How to use it
- Paste your contacts - name, email and phone columns, comma or tab separated.
- The tool normalises and matches as you paste.
- Read the merge report: which records combined and on what match.
- Review the cleaned list before importing anywhere.
- Copy the deduplicated contacts as CSV.
Why use this tool
Contact lists grow duplicates the way gardens grow weeds - one import with different capitalisation, one colleague adding the same client, one CRM export that reformatted every phone number. Duplicates cost more than tidiness: the same person gets two mailings, follow-ups land on the stale record, and any count you report is quietly wrong. Matching on normalised identifiers catches the duplicates no eye would spot in a thousand rows.
Why we built it
We built this contact list deduplicator because exact-match deduplication misses almost every real duplicate - Ada@Example.com and ada@example.com are the same address, +27 11 555 0148 and 0115550148 the same number - and fuzzy matching without a report destroys trust. Normalise first, match in confidence order, and show every merge with its reason: that is the version people will actually import from. The email extractor and phone number extractor build the lists this tool cleans; the vCard generator then packages the survivors.
The CSV duplicate remover does exact whole-row deduplication on any CSV.
Who this tool is for
- Sales and marketing teams before a campaign send
- Anyone migrating contacts between systems
- Event organisers merging registration lists
- Recruiters consolidating candidate databases
How the matching works
| Key | How it is normalised |
|---|---|
| Lowercased, dots and plus-tags noted | |
| Phone | Reduced to digits, country code compared |
| Name | Trimmed, titles stripped, case folded |
Records sharing a normalised email merge first. Remaining records are matched on phone digits, then on name. When two records merge, non-empty fields from both are kept - the richer record wins where they conflict.
Name-only matches are reported as suggestions rather than merged automatically, because two people can share a name.
A worked example
The sample loads six contacts containing three real duplicates in different disguises:
| Rows | Matched on | Outcome |
|---|---|---|
| Ada@Example.com / ada@example.com | Email (case) | Merged, phone kept from second |
| +27 11 555 0148 / 0115550148 | Phone digits | Merged, titles combined |
| Two distinct records | No shared key | Kept separate |
What you enter, and what you get back
| Item | Details |
|---|---|
| Contact rows | Name, email, phone - comma or tab separated. |
| Result | Merged list plus a per-merge report. |
| Copy | Deduplicated contacts as CSV. |
Issues you may run into
| What you see | Why it happens | What to do |
|---|---|---|
| Missed duplicate | Same person, different emails and phones. | Name match is suggested - confirm by hand. |
| Over-merge worry | Common names matched. | Name matches are suggestions only, never automatic. |
| Phone mismatch | Extension or work switchboard digits. | Strip extensions before pasting. |
| Columns look wrong | Mixed delimiters in the paste. | Use one delimiter - commas or tabs throughout. |
Assumptions and limitations
- Matches on email, phone and name only - it cannot know two different people are truly the same person.
- Name-only matches are shown as suggestions, never merged automatically.
- Merged records keep the first row's position; conflicting non-empty fields are won by the second record only when the first is empty.
- Very large lists are fine in the browser, but the paste itself is limited by the clipboard.
Frequently asked questions
How are duplicate contacts detected?
Identifiers are normalised first - emails lowercased, phone numbers reduced to digits, names tidied - then records are matched on email, then phone, then name. The strongest shared key decides the merge.
Which fields get normalised?
Email case and whitespace, phone formatting down to the digits, and name titles and spacing. The normalisation exists so that cosmetic differences never hide a duplicate.
How do I know what was merged?
Every merge is listed in the report with the rows involved and the key that matched them. Nothing is removed silently - you can audit the whole run.
What format should my contact list be in?
Rows with name, email and phone columns, comma or tab separated, with a header row if you have one. The tool reads whatever columns you paste and uses the identifying ones.
Can I merge fields from both records?
Yes - when two records merge, empty fields are filled from the other, so a phone number on one row and an email on the other end up on the same contact.
Is the contact deduplicator free?
Yes, completely free with no account and nothing uploaded. The list is processed in your browser and vanishes with the tab.