When you export contacts from a phone or an email client you usually get a single .vcf file with every contact packed inside, one BEGIN:VCARD … END:VCARD block after another. Some systems — older CRMs, certain mail clients, smart-watch apps — want one file per contact instead. This splitter takes the combined file and produces an individual, correctly named .vcf for each contact.
How it works
The splitter scans the file for BEGIN:VCARD and END:VCARD markers and isolates each block, keeping its original lines intact (including folded continuation lines and any embedded photo data). For naming, it unfolds each block and reads the contact’s identity in priority order:
- FN — the formatted display name, the preferred source.
- N — the structured name (Family;Given;…), assembled into “Given Family” if FN is absent.
- ORG — the organisation name, for company-only cards.
- EMAIL — used as a last resort before a generic
contact-Nfallback.
The chosen name is sanitised into a safe file name: characters that are illegal in file names are removed, spaces become underscores, and the result is capped in length. If two contacts resolve to the same file name, a numeric suffix keeps them separate.
Using the output
Each contact gets a Download and a Copy button, and a single “Download all” button triggers every file in sequence. The downloads are spaced a fraction of a second apart so browsers don’t silently drop later files in a burst — a common quirk when many downloads fire at once.
Notes
- The original card content is never modified — splitting only changes how the cards are packaged, not what they contain.
- Cards with no recognisable name still split cleanly; they simply receive a
contact-Nfile name. - Because everything runs in your browser, the tool is safe for large, sensitive address books — nothing is uploaded.