hCard cheatsheet

From Microformats Wiki
Jump to navigation Jump to search

hCard properties and how to use them.


Place the following into the <head> of your document:

<link rel="profile" href="http://microformats.org/profile/hcard">

See rel-profile for details.

Properties (Class Names)

  • vcard {1}
    • adr*
      • type [work|home|pref|postal|dom|intl]?
      • post-office-box?
      • street-address*
      • extended-address?
      • region?
      • locality?
      • postal-code?
      • country-name?
    • agent*
    • bday? (ISO date)
    • class? confidentiality/access classification of the entire hCard
    • category*
    • email*
      • type?
      • value?
    • fn {1}
    • geo?
      • latitude?
      • longitude?
    • key*
    • label*
    • logo*
    • mailer*
    • n?
      • honorific-prefix*
      • given-name*
      • additional-name*
      • family-name*
      • honorific-suffix*
    • nickname*
    • note*
    • org*
      • organization-name?
      • organization-unit*
    • photo*
    • rev? datetime of the revision of the entire hCard
    • role*
    • sort-string?
    • sound*
    • tel* (Note E.123 for formatting info.)
      • type [home|work|pref|fax|cell|pager]?
      • value?
    • title*
    • tz? timezone of the person
    • uid? applies to the entire hCard
    • url*


Based on Perl's standard quantifiers:

bold {1} MUST be present exactly once
italic* OPTIONAL, and MAY occur more than once
+ MUST be present, and MAY occur more than once
? OPTIONAL, but MUST NOT occur more than once
[square brackets] list of common values
(parentheses) data format
# comment
! awaiting documentation
pref preferred
dom domestic
intl international
cell mobile


  • The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
  • URL in vCard becomes <a class="url" href=...>...</a> inside the element with class vcard in hCard.
  • Similarly, EMAIL in vCard becomes <a class="email" href="mailto:...">...</a>
  • FN is an abbreviation of "formatted name".
  • PHOTO in vCard becomes <img class="photo" src=... alt="Photo of ..." /> or <object class="photo" data=... type=...>Photo of ...</object>
  • UID in vCard simply becomes another semantic applied to a specific URL (or EMAIL) for an hCard.
  • Compare TITLE of "Wing Commander" with ROLE of "pilot".


  • At least one child-property MUST be present in adr.
  • If an adr-child (e.g street-address) is present it will ONLY be considered part of the adr data IF it is inside an adr.
  • FAQ: "why 'adr'?"


  • Coordinates MUST use the datum of WGS84.
  • If latitude is present, so MUST be longitude, and vice versa.
  • Coordinates MAY be combined a single <abbr> element; then the latitude and longitude MUST be separated by a semicolon in the title attribute and latitude MUST be first:
<abbr class="geo" title="37.386013;-122.082932">home</abbr>


profile attribute

Previously this cheatsheet advised adding a profile attribute to the <head> like this:

<head profile="http://www.w3.org/2006/03/hcard" />

This technique is valid for HTML4.x and XHTML1.x, however this is invalid for HTML5, thus authors are advised to use <link rel=profile ...> instead as described above See hCard:Profile for more information.

Related pages

The hCard specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. These thoughts, issues, and questions are kept in separate pages.