The mapcode system is an open-source geocode system consisting of two groups of letters and digits, separated by a dot. It represents a location on the surface of the Earth, within the context of a separately specified country or territory. For example, the entrance to the elevator of the Eiffel Tower in Paris is “France 4J.Q2”. As with postal addresses, it is often unnecessary to explicitly mention the country.
The mapcode algorithm defines how a WGS 84 coordinate (a latitude and longitude) can be converted into a mapcode, and vice versa. Mapcodes may be supported on an automotive navigation system. As a unit of Nokia, HERE supported Mapcode, and mapcode locations remain searchable in HERE WeGo, though mapcodes are no longer exposed in the interface nor shareable from the app.
The mapcode system was designed specifically as a free, brand-less, international standard for representing any location on the surface of the Earth by a short, easy to recognize and remember “code”, usually consisting of between 4 and 7 letters and digits. The shortness is the key differentiating factor between mapcodes and other location references; more densely populated areas are designated with shorter (4 character) codes.
The brevity of mapcodes was achieved through a combination of several ideas:
The last idea, especially, yields very good results. For example, although every location within the Netherlands can be identified by a 6-letter mapcode, half of the Dutch population can be found in about 40 cities and densely populated areas that together comprise less than 6,000 square kilometers. By reserving 5-letter mapcodes for these areas, half of the population can thus be reached with 5 mapcode letters. Since human dwellings and businesses are usually the more relevant locations in daily human life, this means that the relevant locations in the Netherlands have 5-letter mapcodes more often than 6-letter mapcodes. In fact, a significant number of people live in the 100 square kilometers of very densely populated city centers of Amsterdam, Rotterdam, The Hague, Eindhoven and Utrecht, which are covered by 4-letter codes. The mapcode system thus defines a population-density-based code division for all (roughly 200) countries on Earth, all (roughly 100) overseas territories, and roughly 240 subdivisions (provinces, states, oblasts, etc.). With the exception of Antarctica and the international waters, few localities on the surface of the Earth require a mapcode longer than 7 letters.
Note that mapcodes can in fact be made arbitrarily precise: at the cost of two extra characters, a mapcode is guaranteed to be less than 25 centimeters from the original coordinate. Every character added increases the accuracy further by a factor of 30. However, the mapcode documentation states that this defeats the key purpose of the mapcode system: to offer the simplest possible codes appropriate for public, every-day use.
The mapcode system was developed in 2001 by TomTom's Pieter Geelen and Harold Goddijn, soon after the GPS satellite signals were opened up for civilian use. It was decided to open source the system using Apache License 2.0 in 2008. The algorithms and data tables are maintained by the Mapcode Foundation, which provides source code and specifications free of charge to any organization that wants to support mapcodes.
The mapcode website notes that the term "Mapcode" is a trademark and that the algorithm is patented, both to prevent "misuse" (defined as producing an incompatible derivative system). As the Apache License provides a patent grant clause, making use of the algorithm via open-sourced code will remain unencumbered as long as all patents are held by the Mapcode Foundation or an associated entity. Mapcode was proposed as an international standard (ISO/TC 221 N4037) in 2015.
The term "mapcode" was also used by Denso in Japan. The international mapcode system operated by the Mapcode Foundation is in no way linked to Denso or based on the Denso system.