Skip to content

Convert

Merge VCF

Merge VCF

Beta

Combine several .vcf vCard contact files into one to import. Cards are copied as written, photos included, with optional skip of exact duplicates. Files are not uploaded.

Use via API
  • Free, no sign-up
  • REST + MCP
  • Updated
  • Reviewed by Olgun Ozoktas
Drop two or more .vcf filesExports from iPhone, Android, Google Contacts and Outlook. Added files join the end of the list.

A later card is skipped only when its name, phone digits and email addresses all match an earlier card. The first copy is kept.

Processed in your browser; files are not uploaded.

Why Use Merge VCF?

Contacts pile up as separate .vcf files: an export from an old phone, a backup from a newer one, a Google Contacts export, cards someone mailed you. Importing them one by one works, but every import is another round of taps, and copies of the same person arrive once per file. Merge VCF puts all of those files into one merged-contacts.vcf in the order you drop them, copying each card exactly as it was written so photos and custom fields survive, and can skip the exact duplicates on the way.

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.

Frequently Asked Questions

How do I merge multiple VCF files into one?

Drop all the .vcf files on this page and download merged-contacts.vcf. Every complete card from every file is copied into it, in the order of the list. Import that one file instead of importing each file separately.

Will contact photos survive the merge?

Yes. Each card is copied line by line as it was written, so PHOTO data, custom X- fields and the vCard version stay inside their card. The line endings are kept as well: the merged file uses the line ending of the first file you add.

How does Skip duplicates decide two cards are the same?

A later card is skipped only when its name, its phone numbers and its email addresses all match an earlier card. Names ignore letter case and extra spaces, phones compare digits only, so +1 (555) 010-2030 and +1 555 010 2030 match, and emails ignore letter case. The first copy is kept.

Does it merge "J. Smith" and "John Smith"?

No. There is no fuzzy matching, and cards are never combined field by field. For that kind of cleanup, convert the merged file with VCF to CSV, fix the rows in a spreadsheet, and rebuild it with CSV to VCF. Photos may not survive that round trip.

What happens to a broken or cut-off card?

A card that has BEGIN:VCARD but never reaches END:VCARD is left out of the download and counted under Incomplete refused. The cards before and after it still merge. A file with no complete card at all is marked with the reason in the list.

Will importing the merged file replace my contacts?

No. Phones and contacts apps add imported cards to the contacts already there. If the merged file overlaps contacts you already have, use your contacts app's own duplicate or merge feature after importing.

In what order are the contacts written?

In the order of the file list, then the order inside each file. Files you drop later join the end of the list, and removing a file takes its cards out of the merge.

How many files can I merge?

Up to 500 files at once. Very large exports with many photos take longer to read, since everything happens in your browser tab.

Are my contacts uploaded?

No. The .vcf files are read and merged in your browser tab and no contacts service or API is called. An address book holds other people's details, which is why it stays in the tab.

Rate This Tool

0/1000

Get Weekly Tools

Suggest a Tool