1. Home
  2. Free tools
  3. Email list tools
  4. Duplicate contact finder

Duplicate contact finder: the same person at two email addresses

In short: Groups rows by first and last name plus company (the company column, or the domain after the @), and by Gmail dot and +tag variants, then keeps one row per person: the work address over Gmail or Outlook, or the first in the file. Limit: Matching is by name and company, so a misspelled name or a renamed company isn't matched.

To find duplicate contacts with different emails, upload the CSV with email, name and company columns. Rows with the same first and last name at the same company are one person, as are Gmail addresses that differ only by dots or a +tag. One row per person is kept, the work address first, and the extra addresses download separately with the address they duplicate.

Price: this tool is free. Checking a whole email list is from $9/mo, and the first 100 checks are free with Google, no card. See pricing

Runs in your browser. Nothing is uploaded.
Options
Sample result from the Duplicate contact finder
Show the sample result as

Sample result

8 contacts are 5 people: Ana Silva was on the list at 3 addresses, and Leo Park twice at one Gmail inbox.

People
5 of 8 rows
Listed twice+
2
Kept
Work address

What this means for you

One address per person means no double sends, and her work address is the one kept.

Next step:Verify the cleaned list
  • Same name at the same company
  • Gmail dots and +tags matched
  • Work address kept first
  • Extras in their own file
  • Contacts
  • CRM
  • CSV

By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us

How do I check which address still works?

  1. Download the one-per-person file here; your columns are kept as they were.
  2. Upload it at /verify. Each address gets a live mailbox check, and valid, risky and invalid download as separate files. The first 100 email checks are free with a Google sign-in, no card.
  3. For anyone whose kept address comes back invalid, try the extra address from the duplicates file.
Check the addresses

How do I find duplicate contacts with different email addresses?

  1. Upload the contact CSV or Excel file, or paste it. Email, first name, last name (or full name) and company columns are found by their headers.
  2. Leave "keep the work address" on so ana@company beats ana@gmail.com; untick it to keep the first row in the file.
  3. Press Find duplicate people. Each extra address shows the address kept for that person and why.
  4. Download one contact per person, and the extra addresses as their own file.

Example

You enter
8 contacts: Ana Silva three times (two northwind.example addresses and a Gmail with company Northwind Inc), Leo Park as leo.park@gmail.com and leopark@gmail.com, and Mia Chen at two different companies.
You get
5 people: Ana's first work address kept and her other 2 addresses moved to the duplicates file, and Leo's two Gmail spellings (leo.park@ and leopark@) folded as one inbox. The two Mia Chens stay separate because they work at different companies; ticking name-only would merge them.
Limits
Runs in your browser with no row cap; an uploaded file can be up to 25 MB.

Why doesn't remove duplicates catch these?

Excel's Remove Duplicates and most dedupe tools compare the email cell, so ana.silva@northwind.example and ana.silva.home@gmail.com are two contacts. Merged lead lists, CRM imports and event sign-ups end up with the same person at a work address, a personal address and an old job's address. Mailing all of them is a double send to one person, and the old address may bounce.

For repeats of the same address, remove duplicate emails is the simpler tool. This one is for the same person at different addresses.

How are two rows matched as one person?

Names are compared without case, accents, titles (Dr, Mr), suffixes (Jr, III) and middle names, so ANA SILVA, Ana Silva and Ana M. Silva are the same. The company is the company column with Inc, LLC, GmbH and similar removed, or, when that cell is empty, the domain of a work address. Same name and same company is one person.

Two rows with the same name and no company in common are not matched unless you tick the name-only option, because common names collide: two Mia Chens at different companies are two people. Gmail addresses that differ only by dots or a +tag are always matched, since Gmail delivers them to one inbox.

How is this different from Remove Duplicates in Excel?

This toolExcel Remove Duplicates
Same address, different caseMatchedMatched
Gmail dots and +tagsMatchedNot matched
Same person, work and GmailMatched by name and companyNot matched
Which row is keptWork address firstFirst row

Who uses this tool, and for what?

Cold emailers
Merge an Apollo export with an old list without emailing the same prospect at two addresses.
CRM admins
Find the person who has a lead record at their work address and a contact record at Gmail before a re-import.
Event teams
Fold registrants who signed up once with a work address and once with a personal one.
Newsletter owners
Spot subscribers on the list twice before a paid promotion is counted per address.

What can’t this tool tell you?

  • Matching is by name and company, so a misspelled name or a renamed company isn't matched.
  • Two different people with the same name at the same company are treated as one.
  • With the name-only option on, common names will be grouped wrongly; check the duplicates file.
  • It can't tell which of a person's addresses still works.

Common questions

Which address does it keep?
With the default option, the first company address in the group; when every address is personal, the first in the file. Untick the option to always keep the first row.
Does it merge the other columns?
No. The kept row is kept as it was, and the extra rows go to their own file with duplicate_of and reason columns, so nothing is lost.
Can it find duplicates without a name column?
Only exact and Gmail dot or +tag repeats. Name columns are what let it see the same person at two addresses.
Is my list uploaded?
No. Matching happens in your browser, and nothing is sent unless you choose to check the addresses afterwards.

A tidy list can still be full of dead addresses.

Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.

  • Upload the cleaned file as it is: CSVs up to 100,000 rows
  • A real SMTP mailbox check on every row, with catch-all detection
  • Small list? Starter at $9/mo covers 2,500 emails a month, cancel anytime

Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.

Clean your next list before it bounces

100 free email checks when you sign in with Google, no card. Then monthly plans from $9, or one flat price with fair use, never cut off.

100 free checks, no card Cancel anytime Secure payment by Stripe