Guide

How to merge duplicate contacts into one clean address book

By Michael, founder of ContactAttic · September 2026 · 8 min read

You scroll your contacts and there they are: the same friend three times over — one card with their mobile, one with an email, one with an address they moved out of years ago. Multiply that by a decade of phones and accounts and you have an address book you can't trust. Here's how the duplicates get there, what your phone can fix on its own, and how to fold every copy of a person back into a single clean card.

Why the same person ends up on three cards

Duplicate contacts are almost never your fault — they're what happens when contacts live in more than one place at once. The usual culprits:

The result is the half-complete-card problem: the information about one person is real and worth keeping, but it's scattered across three or four entries, and no single one of them is complete.

What the built-in merge tools do — and where they stop

Your phone can already do some of this, and it's worth trying first:

These are genuinely useful, but they share three limits. First, each one only sees its own account — the iPhone tool can't merge an iCloud contact with a Google one, so cross-account doubles survive. Second, they match conservatively: a name spelled slightly differently, or a person with only a number on one card and only an email on another, often isn't caught. Third, they give you no accounting — no list of what was combined, so you're trusting a black box with the one dataset you can't afford to quietly lose entries from.

Do the free, native pass first — then handle what's left. Running your phone's built-in merge clears the easy duplicates at no cost. What it leaves behind is the cross-account, half-complete, slightly-mismatched cases — exactly the stuff worth pulling everything into one place to solve properly.

Step one: export your contacts

To merge across every account at once you first need all of them out as files. ContactAttic reads both formats your apps hand out — vCard (.vcf) and CSV (.csv, both the Google and Outlook layouts) — so just use whichever export each place offers:

Do this for every account and old backup you can find. Don't worry about the overlap between them — the overlap is the whole point, and it's what the merge step is for. When you're done you'll have a small pile of .vcf and .csv files that, between them, contain every copy of everyone.

Step two: merge everyone into one entry each

Now the real work — collapsing that pile into one card per person. This is what ContactAttic is built to do. You point it at the .vcf and .csv files you just exported (a whole folder at once is fine), and it:

  1. Reads every card across all your exports, in vCard 2.1, 3.0 and 4.0 — the three versions different phones and apps write.
  2. Groups the entries that are the same person and merges them, combining the phone numbers, emails and details from every copy into a single complete card. The card with only a mobile, the one with only an email, and the one with just a birthday become one entry that has all three.
  3. Leaves genuinely different people alone. If two cards only look similar but aren't really the same person, they stay separate — nothing distinct is thrown away.
  4. Writes one clean contacts.vcf you can import straight back into any phone, mail client or address-book app, plus a structured .jsonl copy of the same data, and a report telling you exactly how many entries were merged and what came from where.

Because it works from your exported files on your own computer, nothing is uploaded and your originals are opened read-only — never modified. And if a run doesn't look right, a Cancel button stops it before anything is written, so you can adjust and try again with nothing lost. (Have CSV exports instead? ContactAttic reads those too — both the Google Contacts and Outlook CSV layouts — so you can point it at whichever format your apps hand you.)

Import the clean set back everywhere

The finished contacts.vcf is an ordinary vCard file, so putting your tidy address book back is the same everywhere: on iCloud, Import vCard… from the same gear menu you exported from; in Google Contacts, Import and choose the file; on a phone, open the .vcf and let it add the cards. Because every person now appears exactly once, the account you import into stops re-creating the mess — and the report you kept is your receipt that nothing was dropped along the way.

This is exactly what ContactAttic automates

The cross-account gathering, the merge into one complete card per person, and the "here's what was combined" report that lets you trust the result — all on your own computer, nothing uploaded. In internal testing; sign up before launch for 25% off.

Get early access