Geo is a microformat used for marking up WGS84 geographical coordinates (latitude;longitude) in (X)HTML. Although termed a "draft" specification, this is a formality, and the format is 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 mapping tool, or to load them into a GPS device, index or aggregate them, or convert them into an alternative format.
The below describes the new version of the geo microformat, h-geo.
The hGeo microformat is applied using three HTML classes. For example, the marked-up text:
<div>Belvide: 52.686; -2.193; 120</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".
This will display
Belvide: 52.686; -2.193; 120
and a geo microformat for that location, Belvide Reservoir, which will be detected, on this page, by microformat parsing tools.
The legacy microformat uses the class-attribute values "geo", "latitude" and "longitude". There is no support for altitude. The legacy and modern attribute formats can coexist.
Organisations and websites using Geo include:
Many[which?] of the organisations publishing hCard include a geo as part of that.