Skip to content

VCF Splitter and Merger

Split VCF contacts into individual files in a ZIP or merge selected vCards locally. Review duplicate-removal options and preserve original card data.

VCF Splitter and Merger

Split or merge vCards with optional duplicate removal.

Maximum file size: 25 MB per file. You can also drag files here.

Privacy: files are processed in your browser and are never uploaded.

A VCF splitter helps when one address-book export contains many contacts but your next step needs separate vCard files. This VCF splitter can split accepted contacts into a ZIP with one .vcf per card, or merge several contact files into one contacts.vcf. Choose the mode, review the contact table and optionally remove duplicates using the documented matching rules. vCard 2.1, 3.0 and 4.0 records are supported; the VCF splitter does not synchronize an account, convert every record to a new version or intelligently combine different contact details.

Choose between the VCF splitter and merger

A contact export can contain several complete BEGIN:VCARD and END:VCARD records in one text file. Split mode packages each accepted record as its own .vcf inside contacts.zip. Merge mode joins the accepted records from your selected files into contacts.vcf. Neither workflow requires signing into an email provider or uploading an address book to a conversion service.

The parsed table lets you inspect names, email addresses, phone numbers and organizations before using the download. You can search the visible records and open a contact for its available details. The preview is not a complete contact editor: changing a displayed name or manually choosing which fields to merge is not offered by this interface.

Split or combine your contact exports

  1. Select Split or Merge in the Operation control. Decide whether to enable Remove duplicate contacts.
  2. Select Choose file for one address-book file or multiple .vcf/.vcard files. File selection starts processing with the current controls.
  3. For multiple files, review their order and use Up or Down if you need another order.
  4. Select Process files after changing mode, deduplication or file order, and inspect the contact count and table.
  5. Download contacts.zip in Split mode or contacts.vcf in Merge mode.

Keep the original exports until you have opened representative output files and tested a small import into the receiving address book. Downloading a merged file does not alter contacts already stored in an account. Import behavior and repeated-contact handling depend on the destination application.

Example: two cards become two files

BEGIN:VCARD
VERSION:3.0
FN:Ana Example
EMAIL:ana@example.test
END:VCARD
BEGIN:VCARD
VERSION:3.0
FN:Ben Example
EMAIL:ben@example.test
END:VCARD

Split mode produces a ZIP containing two .vcf records, one for Ana and one for Ben. Merge mode puts those accepted records in one contacts.vcf. The names help label the split files; the record content still contains each person’s own name and email. The example uses fictional contact addresses and is suitable for learning the format without exposing an address book.

VCF splitter example result preview
Illustrative result from this VCF splitter using a fictional test file.

Understand optional duplicate removal

The deduplication rule first compares a normalized email value when an email is present. If there is no email, it uses normalized phone information together with the lowercased name. When neither is available, it compares the contact record text. Matching records keep the first accepted card; fields from later cards are not intelligently combined.

This can remove a contact whose newer record has a different phone or note but the same normalized email. It can also miss near-duplicates whose email lists differ or whose names and phone formatting do not match the rule. Leave deduplication off when you need a faithful consolidation for later manual cleanup, or compare the counts and retained records carefully before importing.

Photos, encodings and version boundaries

The parser recognizes folded lines and supported quoted-printable text used by older vCards. Common embedded photo forms may appear in the detail preview when their data is acceptable. Remote photo URLs are not fetched. The outputs keep the accepted card records, with parser line unfolding and newline normalization, rather than rebuilding every card as a new vCard version.

That means a merged file can still contain different source versions. A destination that only supports one vCard version may reject some records. Check the receiving application’s documentation and test contacts with accented names, multiple phone numbers and photos instead of assuming the preview proves full import compatibility.

Troubleshoot safely and choose the right output

Unclosed cards, nested card beginnings, unsupported VERSION values and malformed property lines can stop processing. The VCF splitter does not invent missing boundaries or silently recover every broken record. Re-export from the source address book if possible, and check the reported input issue before splitting a large library.

Contact files can include private phone numbers, addresses and notes. Processing is local, but the downloaded ZIP or merged VCF still contains that information; store and share it carefully. If your actual source is an email message rather than a vCard export, inspect an EML file or open a supported Outlook MSG to understand its attachments. Those viewers do not extract an entire address book or replace the vCard import workflow.

Common VCF splitter errors and how to fix them

When the VCF splitter cannot use a file, it stops with one clear message instead of producing a half-finished download. These are the problems people run into most often, with the fix for each:

  • A vCard VERSION of 2.1, 3.0 or 4.0 is required. A card has no VERSION line or an unsupported version.
  • The file does not match the expected format or has invalid structure. A BEGIN:VCARD has no matching END:VCARD, or a line has no property name before its colon.
  • The file contains too many records for this browser tool. The file has more contacts than the browser limit.
  • Similar contacts are still separate after merging Duplicate removal matches the same email address, or the same phone number and name. Cards that differ in both are kept.

Privacy: the VCF splitter runs in your browser

VCF splitter processing happens with JavaScript in a background worker on this page. Your file is not uploaded to a FileFix server, and the results you download are created in your browser’s memory. Email often contains personal data and attachments, so it is useful that nothing leaves your device. When you finish on a shared computer, clear the selection or close the tab.

For the underlying format rules, see the RFC 6350 (vCard 4.0). The VCF splitter follows the subset described on this page rather than every optional feature in those documents.

Starting from a spreadsheet? The CSV to vCard converter builds contact cards from name, email and phone columns.

Sources

The VCF splitter follows these specifications and format guides:

Questions about this tool

Does split mode produce one contact per file?

Yes. Accepted contact records are packaged as separate .vcf files inside contacts.zip. There is no configurable contacts-per-part option.

Does merge mode convert every card to version 4.0?

No. It retains accepted source records with parser line and newline normalization. The merged file can contain several supported vCard versions.

Are duplicate records combined intelligently?

No. The optional rule keeps the first matching card. It does not combine newer phone numbers, notes or other fields from later matches.

Does the tool change contacts in my Google or Apple account?

No. It creates local downloads only. You choose whether and how to import the result into another application.

Will remote contact photos be downloaded?

No. Remote photo URLs are not fetched. Certain embedded photo data can be previewed when supported and valid.

Review the supported formats and limitations before using an output file. File processing happens in your browser.