Merge VCF
BetaCombine several .vcf vCard contact files into one to import. Cards are copied as written, photos included, with optional skip of exact duplicates. This page does not upload them.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
A later card is skipped only when its name, phone digits and email addresses all match an earlier card. The first copy is kept.
On this page, files are processed in your browser and not uploaded.
How to Merge VCF Files
-
Export or collect the .vcf files you want to combine
from iCloud Contacts, the Android Contacts app, Google Contacts or Outlook. -
Drop them on the page
Drop more at any time to add them to the end of the list, or remove one with its X. -
Leave Skip duplicates on to drop later copies of a card whose name, phone digits and emails all match, or turn it off to keep every card
-
Check the counts and the first names, then download merged-contacts.vcf and import it into your phone or contacts app
Common Use Cases
Combining the contact exports of several old phones before importing them into a new one
Joining a Google Contacts export with an iCloud export into one file
Collecting vCards received one at a time by email into a single import
Merging team contact lists before sharing them as one file
Why Use Merge VCF?
A .vcf file holds one or more vCards, each written between a BEGIN:VCARD line and an END:VCARD line. Merge VCF finds every complete card in each file and copies its lines exactly as written, so the vCard version, PHOTO data, X- fields and anything else in the card are kept. The cards keep their own line endings and are joined in the order of the file list, then the order inside each file.
With Skip duplicates on, which is the default, a card is skipped when an earlier card has the same name (FN, or N when FN is missing, trimmed and ignoring letter case), the same set of phone numbers compared by their digits, and the same set of email addresses ignoring letter case. All three must match; there is no fuzzy name matching, and the first copy is the one kept.
A card that starts but never reaches END:VCARD is refused and counted, and a file with no complete card is marked with the reason while the other files still merge. Up to 500 files can be merged at once. The files are read in your browser and no contacts service is called.
How it compares
Joining the files with cat on macOS or copy /b on Windows also concatenates the cards, but keeps every duplicate and can glue a truncated card onto the next one. Online mergers usually need the files uploaded, and some rebuild each card, which can drop photos and custom fields. This page copies the original cards unchanged, skips exact duplicates when you want it to, leaves damaged cards out, and runs in the tab.
Tips for Merging Contacts
- Cards are written in file order, then in the order inside each file, so with Skip duplicates on the copy from the file higher in the list is the one kept.
- Duplicates are matched exactly: the name ignores letter case and extra spaces, phones compare their digits only, and emails ignore letter case. "J. Smith" and "John Smith" stay two cards.
- A card cut off before END:VCARD is left out of the download and counted as incomplete, so a damaged export does not break the rest.
- For looser cleanup, open the merged file in VCF to CSV, fix it in a spreadsheet, and rebuild it with CSV to VCF. Photos may not survive that round trip.
- Importing adds contacts to those already on the phone. Check the phone's own duplicate or merge feature afterwards if the file overlaps what is already there.