This article needs more citations. (August 2010) |

Geo is a microformat used for marking up geographical coordinates (latitude and longitude) in HTML (or XHTML). Coordinates are expected in angular units of degrees and geodetic datum WGS84. Although termed a "draft" specification, the format is a de facto standard, stable and in widespread use; not least as a sub-set of the published hCalendar and hCard microformat specifications, neither of which is still a draft.
Use of Geo allows parsing tools (for example other websites, or Firefox's Operator extension) to extract the locations, and display them using some other website or web mapping tool, or to load them into a GPS device, index or aggregate them, or convert them into an alternative format.
The Geo microformat is applied using three HTML classes. For example, the marked-up text:
<div>Belvide: 52.686; -2.193</div>
becomes:
<div class="geo">
Belvide:
<span class="latitude">52.686</span>,
<span class="longitude">-2.193</span>
</div>
by adding the class-attribute values "geo", "latitude" and "longitude".
This will display
Belvide: 52.686, -2.193
and a geo microformat for that location, Belvide Reservoir, which will be detected, on this page, by microformat parsing tools.
Each Geo microformat may be wrapped in an hCard microformat, allowing for the inclusion of personal, organisational or venue names, postal addresses, telephone contacts, URLs, pictures, etc.
When
There are three proposals, none mutually-exclusive, to extend the geo microformat:
Organisations and websites using Geo include:
Multiple organisations [which?] publishing hCard include a geo as part of that.
h-geo is the successor to the legacy hGeo format and implements the second-generation Microformats2 vocabulary, and is recommended for use in newer projects to take advantage of additional properties and rendering capabilities in modern browsers. h-geo This is applied using three HTML property classes. For example:
<div class="h-card">
<span class="p-name">Belvide</span>
<div class="p-location h-geo">
<span class="p-latitude">52.686</span>
<span class="p-longitude">-2.193</span>
</div>
</div>
<div class="h-geo">Belvide: <span class="p-latitude">52.686</span>; <span class="p-longitude">-2.193</span>; <span class="p-altitude">120</span></div>
by adding the class-attribute values "h-geo", "p-latitude", "p-longitude", and "p-altitude".
h-card, the successor to hCard, also implements the Microformats2 vocabulary for describing entities and their properties. As a result, coordinates should be embedded within h-cards using the h-geo format.