Office & Productivity
Merge VCF files and find duplicate contacts
Add vCard exports from iPhone, Google Contacts or Outlook. You see every contact in one table, merge the duplicates you pick and save one .vcf file or one file per contact.
or drop them here
What you get · sample contacts from the tool
5 cards in, 4 contacts out
1Contacts read
| Name | vCard |
|---|---|
| Nadia Ostrowski | 3.0 |
| Nadia Ostrowski | 4.0 |
| Jürgen Gröner quoted-printable decoded | 2.1 |
| J. Groener | 3.0 |
| Acme Spares | 3.0 |
Listed as a problem: 1 line without a colon was skipped.
2Duplicates by shared email address
Group 1 — Nadia Ostrowski + Nadia Ostrowski Nadia@Example.com = nadia@example.com
| Field | Kept | Dropped |
|---|---|---|
| ORG | Kessler und Voigt GmbH | Kessler & Voigt GmbH |
3Merged card in contacts-merged.vcf
BEGIN:VCARD VERSION:4.0 N:Ostrowski;Nadia;;; FN:Nadia Ostrowski ORG:Kessler und Voigt GmbH TITLE:Head of Operations EMAIL;TYPE=WORK:Nadia@Example.com TEL;TYPE=CELL:+49 170 555 1234 ADR;TYPE=WORK:;;Hafenstrasse 18;Hamburg;;20359;Germany EMAIL;TYPE=home:n.ostrowski@example.net NOTE:Prefers email over phone. END:VCARD
Highlighted lines came from the second card. The group holds a 4.0 card, so the merged card is written as 4.0.
What the tool gives you
A table of every card
Name, organisation, email, phone, vCard version and source file for each contact, from all files at once.
Duplicate groups
Matched by shared email address, shared phone number or same full name. Nothing changes until you press Merge.
Conflicts before you merge
For name, organisation, job title, birthday and notes you see the kept and the dropped value side by side.
The output you choose
One .vcf file, one file per contact, batches of up to 5,000 contacts per file, or the text to copy.
How it works
- 1
Add your .vcf files
Choose or drop one or more files exported from an iPhone, Google Contacts, Outlook, Thunderbird or a CRM. You can also paste vCard text. The files open in the tool in this browser.
- 2
Pick a match rule and tick groups
Match by shared email address, shared phone number or same full name. Tick the groups you want combined and press Merge ticked groups. Undo merges puts the parsed files back.
- 3
Save the result
Download one .vcf file, split the contacts into one file each or into batches, or copy the text. Browsers ask before saving several files at once.
How the tool reads and merges vCards
Versions 2.1, 3.0 and 4.0
Folded long lines are joined before anything else is read. Cards in version 2.1 often store accented letters as quoted-printable, such as Gr=C3=B6ner for Gröner. The tool decodes them and writes those cards back as UTF-8 vCard 3.0, because newer address books often misread 2.1 text. Bare parameters such as TEL;CELL become TEL;TYPE=CELL. Cards from 3.0 and 4.0 files keep their version.
How duplicates are matched
Email addresses are compared without regard to upper and lower case. Phone numbers are reduced to digits and the last nine are compared, so +49 170 555 1234 and 0170 5551234 fall into one group. This can now and then pair two short internal extensions. Name matching compares the display name without punctuation and spaces and is the loosest rule. Contacts linked through a shared value land in one group: if A shares an address with B and B shares another with C, all three are grouped.
What a merge keeps
Email addresses, phone numbers, web addresses and postal addresses are pooled, and exact repeats are dropped. Fields that hold one value, such as name, organisation, job title, birthday and notes, come from the first card in the group. When a later card disagrees, the tool lists the difference before you merge. Two spellings of a company name are reported as a conflict, not resolved.
Limits
Photos stored inside a card are carried through unchanged but not compared, so a merge keeps the photo of the first card. Apple group prefixes such as item1.EMAIL are kept. A card whose BEGIN has no matching END is reported, not repaired. The tool cannot tell which address or number is current, so read the conflicts before you import the file into your phone or CRM.
Questions before you run it
Which vCard versions are supported?
The tool reads vCard 2.1, 3.0 and 4.0. Quoted-printable text in 2.1 cards is decoded, and those cards are written back as UTF-8 vCard 3.0. Cards from 3.0 and 4.0 files keep their version. If a merged group contains a 4.0 card, the merged card is written as 4.0.
Are photos in my contacts kept?
Yes. Photos stored as base64 inside a card are carried through unchanged. They are not compared, so when two cards with different photos are merged, the photo of the first card is kept.
How are duplicates found?
You pick one rule: shared email address, shared phone number or same full name. Email is compared without regard to case, phone numbers by their last nine digits, names without punctuation and spaces. Nothing is merged until you tick a group and press Merge ticked groups.
Is there a file size limit?
The tool sets no file size limit. Files are read in your browser, so very large exports depend on the memory of your device. When you split the output, each file holds between 1 and 5,000 contacts.
Is my contact data uploaded to a server?
No. Reading, matching and merging run in your browser. Files you drop on this page are kept in your browser only to hand them to the tool page.