VCF
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
vCard Contact.
At a glance
| Original creator | Versit consortium; later the Internet Mail Consortium, CalConnect and the IETF |
| Purpose | An electronic business card: one or more contact records with names, addresses, phone numbers, email and optional photos. |
| Extensions | .vcf |
| Poka parser | poka-vcf |
| Viewer | poka-tree-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B2 Broad (see Breadth tiers) |
How much Poka reads
B2 Broad. The common content of the current and the common older versions is decoded. Some named features or versions are not, and are listed.
Confidence: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-16: parsers/poka-vcf/src/lib.rs (unfolding, quoted-printable, bare and typed parameters, N and ADR splitting, per-card contact summary), unit tests, tests/fixtures (synthetic 2.1 and 3.0) and tests/samples.rs; corpus has 2 real files, both vCard 4.0, so 2.1 and 3.0 rest on synthetic fixtures. Every property of every card appears in the tree; covers 2.1, 3.0 and 4.0.
What Poka does not read
- PHOTO, LOGO and SOUND values (base64 or URI) are shown as raw text, not decoded or displayed
- The CHARSET parameter is ignored; input is decoded as lossy UTF-8, so non-UTF-8 vCard 2.1 cards can show wrong characters
- Property group prefixes (item1.TEL) are not interpreted
- vCard 4.0 KIND, MEMBER, PREF, ALTID and PID semantics are not interpreted
- Backslash escapes are resolved on the summary card but not in the tree
- The summary card covers the first 50 cards and the tree 5000 nodes
- Only one value per property is used for the display name and card fields (ORG, TITLE)
Background
The Library of Congress says Versit, an initiative of Apple, AT&T, IBM and Siemens, created vCard in 1990. The Internet Mail Consortium took it over in 1996 and CalConnect in 2006. The main versions are 2.1, 3.0 and 4.0 (RFC 6350); 2.1 is not an Internet standard but is widely used, and differs from 3.0 in, among other things, bare parameters and quoted-printable values. Poka unfolds continued lines, reads both bare and typed parameters, decodes quoted-printable values and splits the structured N and ADR values into their named parts. Each card becomes a branch of the tree.
Versions
| Version | Identifier | Poka | Note |
|---|---|---|---|
| vCard 2.1 | Read | ||
| vCard 3.0 | Read | ||
| vCard 4.0 (RFC 6350) | Read |
Derived and related formats
- vCard file with the long extension (
.vcard): Alias of poka-vcf in its plugin.json.
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- calcard (candidate; Apache-2.0 OR MIT; Rust; https://github.com/stalwartlabs/calcard)
- vcard4 (candidate; MIT OR Apache-2.0 (crate); Rust; https://github.com/tmpfs/vcard4)
- vobject (candidate; MIT; Rust; https://github.com/untitaker/rust-vobject)
- RFC 6350 vCard 4.0 (candidate; public spec; spec; https://www.rfc-editor.org/rfc/rfc6350)
Sources
- https://www.loc.gov/preservation/digital/formats/fdd/fdd000616.shtml
- parsers/poka-vcf/src/lib.rs