This article needs additional citations for verification .(April 2021) |
Filename extension | .vcf , .vcard |
---|---|
Internet media type | text/vcard |
Type code | vCrd |
Uniform Type Identifier (UTI) | public.vcard |
Developed by | Created by Versit Consortium, all rights transferred in 1996 to Internet Mail Consortium, all rights transferred in 2004 to CalConnect |
Type of format | Electronic business card |
Container for | Contact information |
Standard | RFC 6350 |
vCard, also known as VCF (Virtual Contact File), is a file format standard for electronic business cards. vCards can be attached to e-mail messages, sent via Multimedia Messaging Service (MMS), on the World Wide Web, instant messaging, NFC or through QR code. They can contain name and address information, phone numbers, e-mail addresses, URLs, logos, photographs, and audio clips.
vCard is used as a data interchange format in smartphone contacts, personal digital assistants (PDAs), personal information managers (PIMs) and customer relationship management systems (CRMs). To accomplish these data interchange applications, other "vCard variants" have been used and proposed as "variant standards", each for its specific niche: XML representation, JSON representation, or web pages.
The standard Internet media type (MIME type) for a vCard has varied with each version of the specification. [1]
vCards can be embedded in web pages.
RDFa with the vCard Ontology can be used in HTML and various XML-family languages, e.g. SVG, MathML.
jCard, "The JSON Format for vCard" is a standard proposal of 2014 in RFC 7095. RFC 7095 describes a lossless method of representing vCard instances in JSON, using arrays of sequence-dependent tag–value pairs. jCard has been incorporated into several other protocols, including RDAP, the Protocol to Access White Space Databases (PAWS, described in RFC 7545), and SIP, which (via RFC 8688) uses it to provide contact information for the operator of an intermediary which has rejected a call.
hCard is a microformat that allows a vCard to be embedded inside an HTML page. It makes use of CSS class names to identify each vCard property. Normal HTML markup and CSS styling can be used alongside the hCard class names without affecting the webpage's ability to be parsed by a hCard parser. h-card is the microformats2 update to hCard.
MeCard is a variation of vCard made by NTT DoCoMo for smartphones using QR codes. It uses a very similar syntax, but in a more consolidated way as the storage space on QR codes is limited. It's also limited in the amount of data that can be stored, not just by the standard but the size of QR codes.
An example of a simple vCard (from RFC 6350 of August, 2011, abbreviated):
BEGIN:VCARD VERSION:4.0 FN:Simon Perreault N:Perreault;Simon;;;ing. jr,M.Sc. BDAY:--0203 GENDER:M EMAIL;TYPE=work:simon.perreault@viagenie.ca END:VCARD
This is the vCard for "Simon Perreault" (the author of RFC 6350), with his birthday (omitting the year), email address and gender.
vCard defines the following property types.
All vCards begin with BEGIN:VCARD
and end with END:VCARD
. All vCards must contain the VERSION
property, which specifies the vCard version. VERSION
must come immediately after BEGIN
, except in the vCard 2.1 and 3.0 standards, which allows it to be anywhere in the vCard. Otherwise, properties can be defined in any order.
Name | Property presence | Description | Example | ||
---|---|---|---|---|---|
v. 2.1 [2] | v. 3.0 | v. 4.0 | |||
ADR | Optional | Optional | Optional | A structured representation of the physical delivery address for the vCard object. | ADR;TYPE=home:;;123 Main St.;Springfield;IL;12345;USA |
AGENT | Optional | Optional | Undefined | Information about another person who will act on behalf of the vCard object. Typically this would be an area administrator, assistant, or secretary for the individual. Can be either a URL or an embedded vCard. | AGENT:http://mi6.gov.uk/007 |
ANNIVERSARY | Undefined | Undefined | Optional | Defines the person's anniversary. | ANNIVERSARY:19901021 |
BDAY | Optional | Optional | Optional | Date of birth of the individual associated with the vCard. | BDAY:19700310 |
BEGIN | Required | Required | Required | All vCards must start with this property. | BEGIN:VCARD |
CALADRURI | Undefined | Undefined | Optional | A URL to use for sending a scheduling request to the person's calendar. | CALADRURI:http://example.com/calendar/jdoe |
CALURI | Undefined | Undefined | Optional | A URL to the person's calendar. | CALURI:http://example.com/calendar/jdoe |
CATEGORIES | Undefined | Optional | Optional | A list of "tags" that can be used to describe the object represented by this vCard. | CATEGORIES:swimmer,biker |
CLASS | Undefined | Optional | Undefined | Describes the sensitivity of the information in the vCard. | CLASS:public |
CLIENTPIDMAP | Undefined | Undefined | Optional | Used for synchronizing different revisions of the same vCard. | CLIENTPIDMAP:1;urn:uuid:3df403f4-5924-4bb7-b077-3c711d9eb34b |
EMAIL | Optional | Optional | Optional | The address for electronic mail communication with the vCard object. | EMAIL:johndoe@hotmail.com |
END | Required | Required | Required | All vCards must end with this property. | END:VCARD |
FBURL | Undefined | Undefined | Optional | Defines a URL that shows when the person is "free" or "busy" on their calendar. | FBURL:http://example.com/fb/jdoe |
FN | Optional | Required | Required | The formatted name string associated with the vCard object. | FN:Dr. John Doe |
GENDER | Undefined | Undefined | Optional | Defines the person's gender. | GENDER:F |
GEO | Optional | Optional | Optional | Specifies a latitude and longitude. | 2.1, 3.0: GEO:39.95;-75.1667 4.0: GEO:geo:39.95,-75.1667 |
IMPP | Undefined | Maybe | Optional | Defines an instant messenger handle. This property was introduced in a separate RFC when the latest vCard version was 3.0. Therefore, 3.0 vCards might use this property without otherwise declaring it. | IMPP:aim:johndoe@aol.com |
KEY | Optional | Optional | Optional | The public encryption key associated with the vCard object. It may point to an external URL, may be plain text, or may be embedded in the vCard as a Base64 encoded block of text. | 2.1: KEY;PGP:http://example.com/key.pgp 2.1: KEY;PGP;ENCODING=BASE64:[base64-data] 3.0: KEY;TYPE=PGP:http://example.com/key.pgp 3.0: KEY;TYPE=PGP;ENCODING=b:[base64-data] 4.0: KEY;MEDIATYPE=application/pgp-keys:http://example.com/key.pgp 4.0: KEY:data:application/pgp-keys;base64,[base64-data] |
KIND | Undefined | Undefined | Optional | Defines the type of entity that this vCard represents: 'application', 'individual', 'group', 'location' or 'organization'; 'x-*' values may be used for experimental purposes. [3] [4] | KIND:individual |
LABEL | Optional | Optional | Incorporated without | Represents the actual text that should be put on the mailing label when delivering a physical package to the person/object associated with the vCard (related to the ADR property). Not supported in version 4.0. Instead, this information is stored in the | LABEL;TYPE=HOME:123 Main St.\nSpringfield, IL 12345\nUSA |
LANG | Mentioned [2] : 34 | Undefined | Optional | Defines a language that the person speaks. | LANG:fr-CA |
LOGO | Optional | Optional | Optional | An image or graphic of the logo of the organization that is associated with the individual to which the vCard belongs. It may point to an external URL or may be embedded in the vCard as a Base64 encoded block of text. | 2.1: LOGO;PNG:http://example.com/logo.png 2.1: LOGO;PNG;ENCODING=BASE64:[base64-data] 3.0: LOGO;TYPE=PNG:http://example.com/logo.png 3.0: LOGO;TYPE=PNG;ENCODING=b:[base64-data] 4.0: LOGO;MEDIATYPE=image/png:http://example.com/logo.png 4.0: LOGO;ENCODING=BASE64;TYPE=PNG:[base64-data] |
MAILER | Optional | Optional | Undefined | Type of email program used. | MAILER:Thunderbird |
MEMBER | Undefined | Undefined | Optional | Defines a member that is part of the group that this vCard represents. Acceptable values include:
KIND property must be set to "group" in order to use this property. | MEMBER:urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af |
N | Required | Required | Optional | A structured representation of the name of the person, place or thing associated with the vCard object. Structure recognizes, in order separated by semicolons: Family Name, Given Name, Additional/Middle Names, Honorific Prefixes, and Honorific Suffixes [5] | N:Doe;John;;Dr; |
NAME | Undefined | Optional | Undefined | Provides a textual representation of the SOURCE property. | |
NICKNAME | Undefined | Optional | Optional | One or more descriptive/familiar names for the object represented by this vCard. | NICKNAME:Jon,Johnny |
NOTE | Optional | Optional | Optional | Specifies supplemental information or a comment that is associated with the vCard. | NOTE:I am proficient in Tiger-Crane Style,\nand I am more than proficient in the exquisite art of the Samurai sword. |
ORG | Optional | Optional | Optional | The name and optionally the unit(s) of the organization associated with the vCard object. This property is based on the X.520 Organization Name attribute and the X.520 Organization Unit attribute. | ORG:Google;GMail Team;Spam Detection Squad |
PHOTO | Optional | Optional | Optional | An image or photograph of the individual associated with the vCard. It may point to an external URL or may be embedded in the vCard as a Base64 encoded block of text. | 2.1: PHOTO;JPEG:http://example.com/photo.jpg 2.1: PHOTO;JPEG;ENCODING=BASE64:[base64-data] 3.0: PHOTO;TYPE=JPEG;VALUE=URI:http://example.com/photo.jpg 3.0: PHOTO;TYPE=JPEG;ENCODING=b:[base64-data] 4.0: PHOTO;MEDIATYPE=image/jpeg:http://example.com/photo.jpg 4.0: PHOTO;ENCODING=BASE64;TYPE=JPEG:[base64-data] |
PRODID | Undefined | Optional | Optional | The identifier for the product that created the vCard object. | PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN |
PROFILE | Undefined | Optional | Undefined | States that the vCard is a vCard. | PROFILE:VCARD |
RELATED | Undefined | Undefined | Optional | Another entity that the person is related to. Acceptable values include:
| RELATED;TYPE=friend:urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af |
REV | Optional | Optional | Optional | A timestamp for the last time the vCard was updated. | REV:20121201T134211Z |
ROLE | Optional | Optional | Optional | The role, occupation, or business category of the vCard object within an organization. | ROLE:Executive |
SORT-STRING | Undefined | Optional | Incorporated without | Defines a string that should be used when an application sorts this vCard in some way. Not supported in version 4.0. Instead, this information is stored in the | SORT-STRING:Doe |
SOUND | Optional | Optional | Optional | By default, if this property is not grouped with other properties it specifies the pronunciation of the FN property of the vCard object. It may point to an external URL or may be embedded in the vCard as a Base64 encoded block of text. | 2.1: SOUND;OGG:http://example.com/sound.ogg 2.1: SOUND;OGG;ENCODING=BASE64:[base64-data] 3.0: SOUND;TYPE=OGG:http://example.com/sound.ogg 3.0: SOUND;TYPE=OGG;ENCODING=b:[base64-data] 4.0: SOUND;MEDIATYPE=audio/ogg:http://example.com/sound.ogg 4.0: SOUND:data:audio/ogg;base64,[base64-data] |
SOURCE | Undefined | Optional | Optional | A URL that can be used to get the latest version of this vCard. | SOURCE:http://johndoe.com/vcard.vcf |
TEL | Optional | Optional | Optional | The canonical number string for a telephone number for telephony communication with the vCard object. | TEL;TYPE=cell:(123) 555-5832 |
TITLE | Optional | Optional | Optional | Specifies the job title, functional position or function of the individual associated with the vCard object within an organization. | TITLE:V.P. Research and Development |
TZ | Optional | Optional | Optional | The time zone of the vCard object. | 2.1, 3.0: TZ:-0500 4.0: TZ:America/New_York |
UID | Optional | Optional | Optional | Specifies a value that represents a persistent, globally unique identifier associated with the object. | UID:urn:uuid:da418720-3754-4631-a169-db89a02b831b |
URL | Optional | Optional | Optional | A URL pointing to a website that represents the person in some way. | URL:http://www.johndoe.com |
VERSION | Required | Required | Required | The version of the vCard specification. In version 4.0, this must come right after the BEGIN property. | VERSION:3.0 |
XML | Undefined | Undefined | Optional | Any XML data that is attached to the vCard. This is used if the vCard was encoded in XML (xCard standard) and the XML document contained elements which are not part of the xCard standard. | XML:<b>Not an xCard XML element</b> |
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript, a programming language.
Multipurpose Internet Mail Extensions (MIME) is a standard that extends the format of email messages to support text in character sets other than ASCII, as well as attachments of audio, video, images, and application programs. Message bodies may consist of multiple parts, and header information may be specified in non-ASCII character sets. Email messages with MIME formatting are typically transmitted with standard protocols, such as the Simple Mail Transfer Protocol (SMTP), the Post Office Protocol (POP), and the Internet Message Access Protocol (IMAP).
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.
In computer programming, Base64 is a group of binary-to-text encoding schemes that transforms binary data into a sequence of printable characters, limited to a set of 64 unique characters. More specifically, the source binary data is taken 6 bits at a time, then this group of 6 bits is mapped to one of 64 unique characters.
An HTML element is a type of HTML document component, one of several types of HTML nodes. The first used version of HTML was written by Tim Berners-Lee in 1993 and there have since been many versions of HTML. The current de facto standard is governed by the industry group WHATWG and is known as the HTML Living Standard.
The Internet Calendaring and Scheduling Core Object Specification (iCalendar) is a media type which allows users to store and exchange calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, and together with its associated standards has been a cornerstone of the standardization and interoperability of digital calendars across different vendors. Files formatted according to the specification usually have an extension of .ics. With supporting software, such as an email reader or calendar application, recipients of an iCalendar data file can respond to the sender easily or counter-propose another meeting date/time. The file format is specified in a proposed Internet standard for calendar data exchange. The standard and file type are sometimes referred to as "iCal", which was the name of the Apple Inc. calendar program until 2012, which provides one of the implementations of the standard.
YAML is a human-readable data serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as Extensible Markup Language (XML) but has a minimal syntax that intentionally differs from Standard Generalized Markup Language (SGML). It uses Python-style indentation to indicate nesting and does not require quotes around most string values.
Web standards are the formal, non-proprietary standards and other technical specifications that define and describe aspects of the World Wide Web. In recent years, the term has been more frequently associated with the trend of endorsing a set of standardized best practices for building web sites, and a philosophy of web design and development that includes those methods.
Calendaring Extensions to WebDAV, or CalDAV, is an Internet standard allowing a client to access and manage calendar data along with the ability to schedule meetings with users on the same or on remote servers. It lets multiple users in different locations share, search and synchronize calendar data. It extends the WebDAV specification and uses the iCalendar format for the calendar data. The access protocol is defined by RFC 4791. Extensions to CalDAV for scheduling are standardized as RFC 6638. The protocol is used by many important open-source applications.
JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of name–value pairs and arrays. It is a commonly used data format with diverse uses in electronic data interchange, including that of web applications with servers.
In computer hypertext, a URI fragment is a string of characters that refers to a resource that is subordinate to another, primary resource. The primary resource is identified by a Uniform Resource Identifier (URI), and the fragment identifier points to the subordinate resource.
Microformats (μF) are predefined HTML markup created to serve as descriptive and consistent metadata about elements, designating them as representing a certain type of data. They allow software to process the information reliably by having set classes refer to a specific type of data rather than being arbitrary.
hCard is a microformat for publishing the contact details of people, companies, organizations, and places, in HTML, Atom, RSS, or arbitrary XML. The hCard microformat does this using a 1:1 representation of vCard properties and values, identified using HTML classes and rel attributes.
In information and communications technology, a media type, content type or MIME type is a two-part identifier for file formats and content formats. Their purpose is comparable to filename extensions and uniform type identifiers, in that they identify the intended data format. They are mainly used by technologies underpinning the Internet, and also used on Linux desktop systems.
Yet Another Next Generation is a data modeling language for the definition of data sent over network management protocols such as the NETCONF and RESTCONF. The YANG data modeling language is maintained by the NETMOD working group in the Internet Engineering Task Force (IETF) and initially was published as RFC 6020 in October 2010, with an update in August 2016. The data modeling language can be used to model both configuration data as well as state data of network elements. Furthermore, YANG can be used to define the format of event notifications emitted by network elements and it allows data modelers to define the signature of remote procedure calls that can be invoked on network elements via the NETCONF protocol. The language, being protocol independent, can then be converted into any encoding format, e.g. XML or JSON, that the network configuration protocol supports.
GeoJSON is an open standard format designed for representing simple geographical features, along with their non-spatial attributes. It is based on the JSON format.
sabre/dav is an open-source WebDAV server, developed by fruux and built in PHP. It is an implementation of the WebDAV protocol, providing a native PHP server implementation which operates on Apache 2 and Nginx web servers.
JSON streaming comprises communications protocols to delimit JSON objects built upon lower-level stream-oriented protocols, that ensures individual JSON objects are recognized, when the server and clients use the same one. This is necessary as JSON is a non-concatenative protocol.
ISO/IEC 20248Automatic Identification and Data Capture Techniques – Data Structures – Digital Signature Meta Structure is an international standard specification under development by ISO/IEC JTC 1/SC 31/WG 2. This development is an extension of SANS 1368, which is the current published specification. ISO/IEC 20248 and SANS 1368 are equivalent standard specifications. SANS 1368 is a South African national standard developed by the South African Bureau of Standards.
The JSON Meta Application Protocol (JMAP) is a set of related open Internet Standard protocols for handling email. JMAP is implemented using JSON APIs over HTTP and has been developed as an alternative to IMAP/SMTP and proprietary email APIs such as Google's Gmail and Microsoft's MAPI . Additional protocols and data models being built on top of the core of JMAP for handling contacts and calendar synchronization are meant to be potential replacements for CardDAV and CalDAV, and other support is currently in the works.