Don't like ads? Go Ad-Free Today

VCF (vCard File) to JSON Converter

DataDeveloperText
ADVERTISEMENT · REMOVE?
[iotools_vcf_vcard_to_json_converter]
ADVERTISEMENT · REMOVE?

Guide

VCF (vCard File) to JSON Converter

VCF (vCard File) to JSON Converter

Turn any .vcf address book export into a clean, structured JSON array of contacts. The converter parses vCard 3.0 (RFC 2426) and vCard 4.0 (RFC 6350) files entirely in your browser, handles RFC-mandated line folding, multi-contact files, structured Name and Address values, multi-TYPE parameters, and even base64-encoded PHOTO and LOGO entries. Use it to migrate contacts into a CRM, feed an automation, or just to read what a contact file actually contains.

How to Use

  1. Paste the contents of your .vcf file into the source box, or upload the file with the file picker.
  2. Choose your output options – pretty-printed JSON, flat array vs. wrapped object, structured Name and Address splitting, ISO date parsing for BDAY/REV/ANNIVERSARY, grouping EMAIL and TEL by TYPE, and whether to include base64 PHOTO/LOGO data.
  3. The JSON Output area updates automatically as you type or toggle options.
  4. Click Copy to put the JSON on your clipboard, or Download to save it as contacts.json.

Features

  • vCard 3.0 and 4.0 support – Accepts both modern (TYPE=) and legacy (;HOME;VOICE) parameter syntaxes from vCard 2.1.
  • RFC 6350 line folding – Correctly unfolds long lines split with CRLF + whitespace before parsing.
  • Structured Name splitting – The N property is broken into family, given, additional, prefix, and suffix fields, with comma-separated sub-lists preserved as arrays.
  • Structured Address splitting – ADR is broken into poBox, extended, street, locality, region, postalCode, and country.
  • Multi-contact files – A single .vcf containing many BEGIN:VCARD blocks produces one JSON object per contact.
  • PHOTO / LOGO / KEY base64 support – Inline base64 data is reconstructed as a data: URI when “Include PHOTO/LOGO base64” is enabled, or summarised with byte count when it is not.
  • PREF ordering – Multi-value EMAIL, TEL, ADR, and URL entries are sorted by their PREF parameter so the preferred entry appears first.
  • TYPE grouping – Optionally pivot EMAIL, TEL, ADR, and URL into typed buckets (work, home, cell, etc.) for direct dictionary-style access.
  • ISO 8601 date parsing – BDAY, ANNIVERSARY, and REV values are normalised into ISO 8601 strings.
  • DQUOTE-aware param parser – Commas and semicolons inside quoted parameter values are preserved literally.
  • 100% client-side – The .vcf never leaves your browser. No upload, no server processing, no privacy concerns.
  • Optional raw output – Include the original property value alongside the parsed value for debugging or round-trips.

FAQ

  1. What is line folding in vCard?

    RFC 6350 allows long property lines to be split across multiple physical lines by inserting CRLF followed by a single whitespace character (space or tab). When parsing, the line break and the leading whitespace are removed to reconstruct the original logical line. This is why naive line-by-line parsing of vCard files often produces broken values for long notes or base64-encoded photos.

  2. How do vCard 3.0 and 4.0 differ for parameter values?

    vCard 3.0 (RFC 2426) and the older 2.1 spec frequently use multiple TYPE parameters or typeless parameter syntax like TEL;HOME;VOICE:.... vCard 4.0 (RFC 6350) prefers a single TYPE parameter with a comma-separated value list and uses URI values (tel:, mailto:, data:) instead of inline encoding. A robust parser has to accept both shapes and normalise them.

  3. What is a structured value in vCard?

    Properties like N (Name) and ADR (Address) carry multiple sub-fields joined by semicolons. N has five components - family, given, additional, prefix, suffix - and ADR has seven - post office box, extended address, street, locality, region, postal code, country. Each component may itself be a comma-separated list. Splitting must respect the backslash escape sequence so escaped semicolons in a value are not treated as separators.

  4. Why does the PHOTO property carry base64 data?

    vCard 3.0 inlines binary data such as portraits, logos, and keys by base64-encoding them and signalling the encoding via the ENCODING=B parameter. vCard 4.0 instead uses data: URIs with a media type prefix. Both forms can produce very large lines, which is the main reason RFC 6350 mandates line folding for transport.

Want To enjoy an ad-free experience? Go Ad-Free Today

Install Our Extensions

Add IO tools to your favorite browser for instant access and faster searching

Add to Chrome Extension Add to Edge Extension Add to Firefox Extension Add to Opera Extension

Scoreboard Has Arrived!

Scoreboard is a fun way to keep track of your games, all data is stored in your browser. More features are coming soon!

ADVERTISEMENT · REMOVE?
ADVERTISEMENT · REMOVE?
ADVERTISEMENT · REMOVE?

News Corner w/ Tech Highlights

Get Involved

Help us continue providing valuable free tools

Buy me a coffee
ADVERTISEMENT · REMOVE?