UN/LOCODE, the United Nations Code for Trade and Transport Locations, is a geographic coding scheme developed and maintained by United Nations Economic Commission for Europe (UNECE), a unit of the United Nations. UN/LOCODE assigns codes to locations used in trade and transport with functions such as seaports, rail and road terminals, airports, post offices and border crossing points. The first issue in 1981 contained codes for 8,000 locations. The version from 2008 contained codes for about 60,000 locations.
Beside the abbreviation, UN/LOCODE also defines a spelling for each location that can be written using only letters of the English alphabet. This was achieved by stripping off the diacritics from the romanized local name.
UN/LOCODEs have five characters. The first two characters are letters. They code a country by the table defined in ISO 3166-1 alpha-2. The three remaining characters code a location within that country. Letters are preferred, but if necessary digits 2 through 9 may be used (This avoids confusion between "O" and "0", and between "I" and "1".).
For each country there can be a maximum of 35*35*35 = 42 875 entries.
For the US, the 17575 possible combinations of 3-character codes have been almost exhausted. In 2006, the Secretariat added 646 entries to the 2006-2 issue of UN/LOCODE, in which the third position of 3-character codes is a digit from 2 to 9. The 2007 issue of UN/LOCODE contains 689 such US entries.
For airports, the three letters following the country code are not always identical to the IATA airport code. According to the Secretariat note for Issue 2006-2, there are 720 locations showing a different IATA code.
UN/LOCODEs are released as a table. An individual revision is officially referred to as an "issue". A discussion of the table's structure follows.
|US NYC||New York||New York||NY||AI||0401||4042N 07400W|
|DE BER||Berlin||Berlin||BE||AF||0207||5231N 01323E|
|DE TXL||Berlin-Tegel Apt||Berlin-Tegel Apt||BE||AF||9501|
|=||SE||Gothenburg = Göteborg||Gothenburg = Goteborg|
US NYCfor New York City in the United States. Subdivision is the U.S. state of New York (see ). Function: port, rail, road, airport, postal. IATA code is NYC. Coordinates: .
DE BERfor Berlin (city) in Germany. Subdivision is the German state of Berlin (see ). Function: port, rail, road, airport, postal. IATA code is BER. Coordinates: .
DE TXLfor Berlin-Tegel Airport in Germany. Function: airport. IATA code is TXL.
FR PARfor Paris (city) in France. Subdivision is the French department of Paris (see ). Function: port, rail, road, postal.
GB PARfor Par in United Kingdom. Subdivision is the English county of Cornwall (see ). Function: port.
SE GOTfor Göteborg (Goteborg without diacritics) in Sweden. Subdivision is the Swedish county of Västra Götaland (see ). Function: port, airport, postal. The IATA code of XWL indicated in the table is that of a train station in the city centre of Göteborg (though not the Central Station), while the IATA code for the main airport (Göteborg-Landvetter Airport) is actually GOT. It also has a separate reference entry showing an alternate spelling of Gothenburg.
The fields are listed in the official order.
A change from the previous issue is indicated by one of the following characters in the first column:
+ Additions to the issue
# Change in location name (usually spelling) Note: Not defined in the manual http://www.unece.org/cefact/locode/unlocode_manual.pdf
| Change other than location name
X Entries marked for deletion in the next issue
= Reference entry
! US locations with duplicated IATA code, under review
The code is represented with a space between the country code and the 3-letter element.
The name of the location.
The name of the location, but all non-latin-base characters are converted.
Can contain ' e.g. L'viv
The ISO 1 to 3 character alphabetic and/or numeric code for the administrative division (state, province, department, etc.) of the country, as included in ISO 3166-2/1998. Only the latter part of the complete ISO 3166-2 code element (after the hyphen) is shown.
Each defined function gets a classifier; the most important are:
Indicates the status of the entry by a 2-character code. The following codes are used at present:
The date the location was added or updated: 0207 is July 2002, 9501 is January 1995, etc.
Observation: The edition published in 2008 contains for additions the value 0701, while in other cases the exact month is used like 9710, 0212.
The IATA code for the location if different from the second part of the UN/LOCODE.
Some entries have coordinates in the database. They are represented by two numbers: the first followed by either N or S, the second by either E or W.
The remarks column can among other things contain a hint to what specifically was changed (See data field - "Change").
IQ IRB for Irbil was added while
IQ ABL Arbil with almost the same coordinates existed. In the 2007 edition
IQ ABL gets marked for deletion and
IQ EBL Erbil International Apt is added to the database, but with a different coordinates, reflecting the distance between airport and city. The error is to delete ABL and to insert IRB.
Occasionally locations are listed twice; this is not necessarily an error. In issue 2006-1,
ARSMC San Miguel de Tucuman (functions 2,3) was added while
ARTUC Tucuman (function 1) already was in the list. The coordinates are with very little deviation the same. Also in 2006-1,
ARSSJ San Salvador de Jujuy was added (function 4) while
ARJUJ Jujuy (functions 1,2,3,5) already existed.
2007 added a 2nd code for Bánovce Nad Bebravou. SK BAN Bánovce Nad Bebravou --3----- RL 0701 4843N 01815E SK BNB Bánovce nad Bebravou -23--6-- RL 0607 4843N 01815E
The 2007 edition contains character encoding errors in the .txt and .csv files. The name for the new code
FR ONM Moёlan-sur-Mer does not show the ё correctly. In the .mdb file it is encoded correctly but the column "NameWoDiacritics" contains the name with diacritics .i.e. "Moёlan-sur-Mer". Users who cannot access .mdb files, cannot obtain from the website a correct list for their databases.
Another error from 2007 code list: DE GXD Gross-Umstadt Gross-Umstadt HE --3----- RL 0201 4952N 00855E + DE UMS Gross-Umstadt Gross-Umstadt HE -23----- RL 0701 4952N 00856E
US TRI + US BOS, same coor and within TRI different coor
US BFS Bristol VA RL -234---- 0212 3636N 08211W cf US JCI, US BSO, US TRI US BSO Bristol Apt TN RL -234---- 0212 3635N 08210W cf US JCI Apt, US BSO Apt, US TRI Apt US TRI Bristol-Johnson City-Kingsport Apt TN RL -234---- 0212 3635N 08210W cf US JCI, US BSO, US TRI US TRI Johnson City-Kingsport-Bristol Apt TN RL -234---- 0212 3635N 08210W cf US JCI, US TRI, US BSO US TRI Kingsport-Bristol-Johnson City Apt TN RL -234---- 0212 3635N 08210W cf US JCI, US TRI, US BSO US TRI Kingsport Apt TN AI ---4---- 0212 3632N 08233W cf US BSO Apt, US JCI Apt
Some entries do not have coordinates, so it is not clear where they actually refer too. If an IATA code changes, then the UN/LOCODE could also be considered to have changed. MS MNI Montserrat Montserrat AI ---4---- 9601
For Kochi / Cochin the postal function has KOC (1998) and all other functions have COK (2003). IN KOC Kochi Kochi AI ----5--- 9805 IN COK Cochin Cochin KL AA 1234-6-- 0307 0958N 07614E
|2005-2||2005||50,000||55||178||929||8||1,170||Based on 2006-1, entries should be 45,451|
|2005-1||2005-02-28||50,000||46||196||2,291||16||2,549||Based on 2006-1, entries should be 44,538|
|2004-2||2004-07-27||50,000||26||87||1,707||5||1,825||Based on 2006-1, entries should be 42,252|
|2004-1||2004-02-18||47,725||208||694||1,958||167||3,027||Based on 2006-1, entries should be 40,712|
|2003-2||2003||40,000||283||1,099||2,402||324||4,108||Based on 2006-1, entries should be 39,078|
|2003-1||2003||38,000||2,779||523||707||2||3,911||Based on 2006-1, entries should be 36,678|
|2002-2||2002||36,005||93||252||1,235||6||1,586||Based on 2006-1, entries should be 35,977|
|2002-1||2002||35,460||100||597||2,503||24||3,224||Based on 2006-1, entries should be 34,766|
#Change in location (spelling or other)
+Additions to the issue
XEntries marked for deletion in the next issue