Json To Vcf — Converter
| Problem | Likely Cause | Solution | | :--- | :--- | :--- | | | JSON is an object {} not array [] | Wrap your object in square brackets: [...] | | Phone numbers missing | JSON key is "mobile", not "phone" | Edit the JSON to use "phone" OR use a converter that allows custom key mapping. | | Names appear as "Undefined" | JSON key is "fullName", not "name" | Pre-process JSON to rename keys. Use "Find and Replace" in Notepad++. | | Special characters (é, ñ) are garbage | Encoding mismatch | Ensure converter outputs UTF-8. If not, use a script. | | Only first contact imports | Missing END:VCARD or separators | Open VCF in text editor. Ensure each contact block ends with END:VCARD . | Part 8: Advanced Use Cases Converting Nested JSON Many APIs return nested JSON (address inside an object). A basic converter fails. Example:
Download the resulting contacts.vcf file. json to vcf converter
"contact":"personal":"first":"Jane","work":"phone":"555-0001" Flatten the JSON first using a tool like jq (command line): jq 'name: .contact.personal.first, phone: .contact.work.phone' input.json > output.json Then convert the flattened JSON to VCF. Bulk Converting Multiple Files If you have 100 separate JSON files, each with one contact, use a terminal script (macOS/Linux): | Problem | Likely Cause | Solution |
Prepare your JSON. Ensure it is a valid array of objects: | | Special characters (é, ñ) are garbage
for file in *.json; do cat "$file" | python json_to_vcf.py >> all_contacts.vcf done VCF supports base64-encoded images. Your JSON must contain a photo_base64 key. The converter must map this to PHOTO;ENCODING=b;TYPE=JPEG: . Most free online converters do not support this. Use Python with the vobject library for photos. Part 9: Privacy & Security Warning Be extremely careful with online JSON to VCF converters.




