Free The Postcode

From OpenStreetMap Wiki
Jump to navigation Jump to search
This page describes a historic artifact in the history of OpenStreetMap. It does not reflect the current situation, but instead documents the historical concepts, issues, or ideas.
Reason for being historic
Free The Postcode stopped taking new submissions in 2016 after the release of postcode centroids by the Ordnance Survey[1].

Free The Postcode ( is a free database of postcode-to-location mappings. They are asking people with GPS Receivers to submit their copyright-free latitude/longitude readings for any particular postcode.

This is a Related Project, in fact it's a sister project of OpenStreetMap, set up initially by the same guy User:Steve. Clearly the aims overlap quite nicely with some of the activities of OpenStreetMap, so we can help each other out.

User:Randomjunk has created a postcode map, which displays postal areas on top of an OSM map, based on 'Free The Postcode' data:

See also OpenStreetMap FAQ which has some information relevant to FreeThePostcode.

How to easily get postcodes

Enter postcodes as waypoints in your GPS unit. Then when you get home you can go through them and send them to freethepostcode. If you don't know the postcode, it's fairly easy to figure out well-known places. For example, take a waypoint outside a pub then go and google for the pubs address. Bingo, you have the postcode.

A good source of post codes is phone boxes. In some parts of the UK most phone boxes have their full postal address on a small label inside (this is so that a caller can tell the emergency services where they are).

Another good source is businesses with local branches/stores (banks, supermarkets, etc). Most have a list of stores (with postcodes) on their web site.

iPhone Application

John McKerrell has written an application for the iPhone which makes it really easy to submit postcodes using the in-built GPS on the newer iPhone models. More information on that can be found on the iFreeThePostcode support page. The application is open source and free to install (via the iTunes App Store).

Windows Mobile Application

Chris Cowley has written an application for Windows Mobile devices, based on the look and feel of the iPhone application, which makes it really easy to submit postcodes using the in-built GPS on newer Windows Mobile phones. More information on that can be found on the author's web page.


The basic geocoder can get from postcode to lat/lon and back:

The postcode geocoder knows not to fall back on N-something if you ask it for NW-something. It will give you the closest match it can. You can make it better by collecting more postcodes. The format should be pretty obvious and not subject to change. Lines starting with a hash are comments, see also

Feature requests

  • Enter OSGB coords rather than lat/lon
  • Enter eastings and westing rather than positive and negative numbers
  • Enter coords in degrees, minutes, seconds
  • Not just UK - eg
  • Upload by GPX waypoint names (would need to validate postcode formats vs waypoint names, and many Garmin GPS receivers only allow 6 character waypoint names, which means only a subset of UK postcodes can be done this way). This avoids co-ordinate keying errors.
  • Accuracy information - eg if a user requests OX1 4AU then if we don't have an exact match we can return a location based on OX1 4xx or OX1 xxx or OXx xxx with an estimated error based on average sizes of zone/district etc.
    • this is already done, the geocoder returns the best match available and tells you which one it's giving back, try it :-)
    • Sure, but this isn't good enough for an end-user application where we want to say "this postcode is here, plus or minus xx m/km". The implication here is that we need to store some information about the size of each postcode zone. --Dom.
    • This is an issue for non-residential codes especially - my work postcode covers a site about 500m across. Should I measure the postcode somewhere in the middle of the site (looking the postcode up on google maps etc provides a point vaguely, but not exactly in the middle) or should I provide the location of the actual entrance? Even the latter is difficult, as the visitors' entrance used to be on one side of the site, and is now on the other... --DA
  • Incidentally, can we have a mailing list for freethepostcode? It'd make this sort of discussion easier --Dom.
  • Allow people to amend postcodes they enter, or at least to reject codes when the confirmation email arrives. I very stupidly put in the wrong coords whilst going through a list I gathered, and ignored the email but trying it a second time with the right coords doesn't seem to have worked -- Tom.
  • Please can we have a means to enter postcodes by clicking a position on an OSM map? Surely this is free of copyright? I could add quite a number of postcodes I know from memory but don't have the time to take a GPS to. Thanks, Daveemtb 18:34, 19 November 2008 (UTC)
    • Good idea. The coverage is pretty extensive, after all. GPSNut 20:35, 22 November 2010 (UTC)
    • The feature is already there. Key:postal_code can be specified for any node/way/area. Tongro 09:31, 23 November 2010 (UTC)


This might need some different approaches for different countries

(From [2] and [3] with comments)



El codigo postal argentino consta de ocho caracteres:

  • Una letra que identifica la provincia, de acuerdo a la norma ISO 3166-2:AR.
  • Un número de 4 dígitos que identifica la localidad, ciudad o barrio.
  • Una combinación de tres letras que identifican la cara de manzana. Se omite en qquellas localidades con menos de 500 habitantes.



For the format, consult wikipedia: [4].

There is an up-to-date list available from the Austrian Post website that associates each postal code to (parts of) municipalities; it consists of 5 columns, giving the community, Bundesland (federal state), municipality, postal code, denomination of the post office. In order to use those data for OSM, the Austrian Post should probably be asked first if that's okay for them. As postal codes tend to be rearranged sometimes, a script checking for changes in that file might then be quite useful.



To a rough approximation, the first digit 2-7 covers six states (2=NSW, 3=VIC, 4=QLD, 5=SA, 6=WA, 7=TAS) with territories either 0nnn or 2nnn. See wikipedia page. The Australian postcode database is a zero-cost download from Australia Post, but with copyright and usage restrictions.



Each commune has his one. The two first numbers give the province.


10nn 11nn 12nn are for Brussels
13nn 14nn are for the Brabant Wallon
15nn 16nn 17nn 18nn 19nn are for Vlaams-Brabant
2nnn are for Antwerpen
30nn 31nn 32nn 33nn 34nn are also for Vlaams-Brabant
35nn 36nn 37nn 38nn 39nn are for Limburg 4nnn are for Liège
5nnn are for Namur
60nn 61nn 62nn 63nn 64nn 65nn are for Hainaut
66nn 67nn 68nn 69nn are for Luxembourg
7nnn is also for Hainaut
8nnn are for West-Vlaanderen
9nnn are for Oost-Vlaanderen


Each street os cities bigger than 50,000 habitants have their it own code, big avenues can have more then one, such as one for each side. Some special buildings, such as big offices or any other places that receive lots of mail can have it's own code as well.

0xxxx-xxx: Greater São Paulo (01000-09999)
1xxxx-xxx: Interior and litoral of São Paulo (11000-19999)
2xxxx-xxx: Rio de Janeiro (20000-28999) and Espírito Santo (29000-29999)
3xxxx-xxx: Minas Gerais (30000-39990)
4xxxx-xxx: Bahia (40000-48999) and Sergipe (49000-49999)
5xxxx-xxx: Pernambuco (50000-56999), Alagoas (57000-57999), Paraíba (58000-58999) and Rio Grande do Norte (59000-59999)
6xxxx-xxx: Ceará (60000-63990), Piauí (64000-64990), Maranhão (65000-65990), Pará (66000-68890), Amapá (68900-68999), Amazonas (69000-69299 e 69400-69899), Roraima (69300-69399) and Acre (69900-69999)
7xxxx-xxx: Distrito Federal (70000-73699), Goiás (73700-76799), Rondônia (76800-76999), Tocantins (77000-77999), Mato Grosso (78000-78899) and Mato Grosso do Sul (79000-79999)
8xxxx-xxx: Paraná (80000-86999) and Santa Catarina (87000-89999)
9xxxx-xxx: Rio Grande do Sul (90000-99999)

More details (in portuguese) is available on Wikipedia:


ana nan

Accurate to street segment and side if the second digit is non-zero. If the second digit is zero, it identifies a whole community and is not subdivided (rural postal code; a municipality might be split between codes, though, as with U.S. zipcodes). Postal codes ending in 0 identify post offices, counters and similar facilities.

The first digit indicates the province, roughly east to west:

A = Newfoundland
B = Nova Scotia
C = Prince Edward Island
E = New Brunswick
G,H,J = Quebec
H = Montreal
K,L,M,N,P = Ontario
M = Toronto
R = Manitoba
S = Saskatchewan
S7 = Saskatoon
T = Alberta
V = British Columbia
Y = Yukon
X = NWT/Nunavut






not street level. (areas)

The five digit number denotes a 'Postleitzahlbereich' (postcode area)

  • 1. Number: Zone
  • 2. Number: Region
  • 3-5 : area

For internal use two more digits are added to describe the 'Zustellbezirk' (postal district). Format is nnnnn-nn.

  • 6. Hyphen
  • 6-7 : district

Postcodes are assigned by the German Post, as suited best for their postal needs:

Most of the time a city or commune has just one number.

Bigger cities have more than one (Frankfurt/Main: 37 between 60311 - 60487)

Villages may share one number with other villages or a town nearby.

  • The number can have leading zeros because 0 is a valid zone
  • The postal districts have no relation to the city districts
  • The postal districts may exceed the borders of counties or even federal states
  • Single locations may use the postcode of the nearby office which delivers post best, even if located within another postal area otherwise.
  • There can be seperate numbers for P.O. Boxes or large institiutions (e.g. businesses receiving large ammount of mail) where no real street or geolocation can be assigned.
  • A street might pass more than one postal district
PLZ   City       Street       No        City District
60316 Frankfurt  Berger Str.  1-105     Nordend-Ost 
60316 Frankfurt  Berger Str.  2-124B    Nordend-Ost 
60385 Frankfurt  Berger Str.  107-181   Nordend-Ost 
60385 Frankfurt  Berger Str.  126-190   Nordend-Ost 
60385 Frankfurt  Berger Str.  183-999   Bornheim 
60385 Frankfurt  Berger Str.  192-998   Bornheim



The Faroe Islands, which are part of Denmark, used to be part of the danish postcode system, but now have their own 3 digit postcodes, so even when sending letters from Denmark "FO-" has to be prepended the postcode. The danish Wikipedia article for Faroe Islands postcodes is here.

Greenland however is still part of the danish postcode system and uses the range 3900-3999.



Un código postal español (Código Postal) consta de cinco dígitos, los dos primeros dígitos se derivan de una lista por orden alfabético de las 50 provincias españolas - a partir de 01nnn ÁLava/Araba y termina en 50nnn de Zaragoza. Códigos postales 51001 a 51005 se utilizan para las direcciones de Ceuta y 52001 a 52006 para las direcciones en Melilla (los territorios españoles en el norte de África). Hay un poco de confusión para los códigos postales Asturias que comienzan con los dígitos 33nnn (en lugar de 05nnn), porque antiguamente, era conocido por su nombre de la ciudad capital, Oviedo. Ese es también el caso de Cantabria (39nnn), que fue conocida anteriormente como Santandero La Rioja (26nnn) por Logroño.

01 Álava/Araba 14 Córdoba 27 Lugo 40 Segovia
02 Albacete 15 A Coruña 28 Madrid 41 Sevilla
03 Alicante 16 Cuenca 29 Málaga 42 Soria
04 Almería 17 Girona 30 Murcia 43 Tarragona
05 Ávila 18 Granada 31 Navarra 44 Teruel
06 Badajoz 19 Guadalajara 32 Ourense 45 Toledo
07 Islas Baleares (orden de Baleares) 20 Guipúzcoa/Gipuzkoa 33 Asturias (orden de Oviedo) 46 Valencia
08 Barcelona 21 Huelva 34 Palencia 47 Valladolid
09 Burgos 22 Huesca 35 Las Palmas 48 Vizcaya/Bizkaia
10 Cáceres 23 Jaén 36 Pontevedra 49 Zamora
11 Cádiz 24 León 37 Salamanca 50 Zaragoza
12 Castellón 25 Lérida/Lleida 38 Santa Cruz de Tenerife 51 Ceuta
13 Ciudad Real 26 La Rioja (orden de Logroño) 39 Cantabria (orden de Santander) 52 Melilla



Smaller numbers in the south, bigger in the north

There's a service for mapping between street / city and postal code at


All French addresses use a postal code ("code postal" in French), written before the commune name on the same line.

nnnnn (or FR-nnnnn for international delivery)

These postal codes are not assigned up to the street level, but are assigned for each postal distribution area organized from a local post office. French postal codes have 5 digits, generally with the following format:

  • In metropolitan France:
    digits 1-2 : number of the metropolitan department, from 01 to 95 (like INSEE codes).
    The postal code may have a leading zero because 01 to 09 are valid department numbers.
    Postal codes for locations in Corsica keep using the prefix 20 of the former department (and not the two distinct department codes 2A and 2B assigned later by INSEE when Corsica became a region, and now a region-like territorial collectivity). These two departments should soon merge again with their territorial collectivity into a new sui generis collectity, but this should not have any impact on postal codes.
    The new department of Rhône and the new Métropole de Lyon (both created in 2015) continue to use the same prefix 69 assigned to the former department of Rhône (no longer a département but an administrative-only circonscription départementale).
    digits 3-5 : number of the postal distribution areas organized by post offices located in that department.
    The number 000 is used in most departments in its main city (but they frequently have multiple codes for several postal distribution areas, unrelated to official administrative areas, generally ending in 00, such as 000 for the main central area, and 100, 200, 700 in peripheral quarters; they are not necessarily using consecutive hundreds and frequently encompass some bordering areas outside the administrative city itself).
  • In overseas, outside metropolitan France:
    digits 1-3 : Overseas departments and collectivities, numbered between 971 and 989 (like INSEE codes).
    digits 4-5 : Postal distribution area organized by post offices located in that department or collectivity (here also 00 is also used in their main city).
  • Nationwide, special postal codes:
    digits 1-2 : 99 for institutions (army), or for special locations abroad, or for large organisations with nationwide activities and with their own internal distribution between their local branches.
    digits 3-5 : special distribution codes for each specific institution or organisation.
French postal codes must never be confused with 5-figures INSEE codes assigned to each commune, and which are almost always different in their last digits.

Postal codes have been assigned historically by the French Post, as suited best for their postal needs:

  • There exists additional (non-strictly geographical) postal codes for P.O. boxes, or special "CEDEX" codes for organisations with special distribution (e.g. businesses receiving large amount of mails).
  • In most communes, there's just just one postal geographical code, but the effective postal distribution areas have no relation to commune boundaries.
  • Several communes may share the same postal code with other nearby small communes.
  • The postal distribution areas may even exceed the borders of arrondissements (counties) or even departments or regions by several kilometers, or just for houses in the same street separating two communes, or for houses accessible only by a road coming from another commune.
  • In very populated cities with special status (Paris, Lyon, Marseille), the standard postal codes are simply assigned with one for each city district (municipal arrondissement). E.g. Lyon uses postal codes 69001 to 69009.
  • Others cities may also have more than one postal code (e.g. Saint-Étienne-sur-Loire: 42000, 42100...), which could also span other nearby communes.
  • Isolated locations anywhere may use the postal code of another nearby post office which delivers them the best, even if they are otherwise located within another postal distribution area. Postal areas do not always respect administrative borders of communes or their districts, notably for streets that are following their boundary or have parts crossing their boundary several times. Usually the same street remains undivided for postal distribution on both sides. As well very isolated locations which are not easily accessible by road may have their postal box grouped together at a more practical location at a nearby access road, and will share the same postal code independantly of the administrative location of final recipients.
  • Postal codes may eventually change over time when post offices are reorganized, or after several communes have merged, so that they'll use the same (but this is not always true as postal codes may still be useful to distinguish postal addresses if there are homonymous streets or locations after the merge).



Shown format is ISO format for postal code use in Croatia, in standard use is also 5 digits number without "HR-" prefix.

The code is divide by bigger city in which Croatian Post have major distributing center :

10000 Zagreb Area
20000 Dubrovnik Area
21000 Split Area
22000 Šibenik Area
23000 Zadar Area
31000 Osijek Area
32000 Vukovar Area
33000 Virovitica Area
34000 Požega Area
35000 Slavonski Brod Area
40000 Čakovec Area
42000 Varaždin Area
43000 Bjelovar Area
44000 Sisak Area
47000 Karlovac Area
48000 Koprivnica Area
49000 Krapina Area
51000 Rijeka Area
52000 Pazin Area
53000 Gospić Area

Mostly Post use central city of County for distributing center. Also Croatian telecom use first two digits for prefix number when you call phone number in Croatia.

Postal code is assigned to post office, not particularly for area, so it will be nice to submit coordinate of postal office with exact postal code.

All code are freely available (and very accurate) on Croatian Post web pages.

It has been verified that Croatian postcode database may be imported in OSM.



Every postcode in Budapest (the capital of Hungary) starts with number one, like this: 1nnn. Then the 2nd and 3rd character tell the districts (23 districts exist is Budapest). So a postcode like 1028 can be found in the 2nd district within the city. Other areas in the country has different method, follows clockwise order from NortEast (3nnn) to NorthWest (9nnn), however the Budapest agglomeration usually starts with number 2 (2nnn).


Dublin n(n)('W')

The Republic of Ireland currently does not use postcodes at all, the closest thing being the Dublin and Cork Postal Districts, of which only the Dublin ones are ever used on letters. A Dublin postal district is similar to the old pre-postcode UK ones, and is included on the postal town address line in the format "Dublin 15".

Odd-numbered postal districts (1-17) are north of the river Liffey, even-numbered ones (2-24 and 6W) south (with slight spillover in at least one river-spanning suburb). Dublin 6W is an anomaly to the system caused by address snobbery triggered by a boundary adjustment that threatened to include a slightly-upmarket district with its middle-class neighbours.

Cork's postal districts go from 1 to 4.

A project is in progress to devise and implement a countrywide postcode scheme, with 2011 the currently suggested date for a rollout. Although details of the scheme are not yet clear, Postcodes are likely to be street-level and at least at townland resolution in rural areas.

Wikipedia Article


In India postal codes or PIN codes are 6 digits without any letter prefix or suffix. Sample codes:

 * 1xxxxx - Delhi and most North India
 * 4xxxxx - Mumbai and most Western India
 * 5xxxxx - Hyderabad
 * 7xxxxx - Kolkatta and most Eastern India
 * 6xxxxx - Chennai and most South India



On a general basis, they are on town level.

This cities have street level granularity:

Alessandra, Ancona, Bari, Bergamo, Bologna, Brescia, Cagliari, Catania, Cesena, Ferrara, Firenze, Foggia, Forlì, Genova, La Spezia, Livorno, Messina, Milano, Modena, Napoli, Padova, Palermo, Parma, Perugia, Pesaro, Pescara, Piacenza, Pisa, Ravenna, Reggio Calabria, Reggio Emilia, Rimini, Roma, Salerno, Taranto, Torino, Trento, Trieste, Venezia, Verbania, Verona .

more info here:




Lithuania since 2005 has had a 5-digit postcode system, LT-xxxxx.

Current Lithuanian postcodes can be obtained using a search engine on the website of Lietuvos Paštas.

There was a four-digit system from independence until 2005, based upon the last four digits of the old USSR postcodes.


Latvian post codes are managed by Latvian Post. Code consists with letters LV and for digits like LV-xxxx If code is in Riga then it is in interval 1000 - 2000. Outside Riga codes are bigger than 2000.

You can find any Latvian post code by going to this link



The full postcode looks like MD-nnnn, where the first two numbers indicate the city/district, and the latter - the post office code.


65xx - Anenii Noi
67xx - Basarabeasca
31xx - Bălți
47xx - Briceni
39xx - Cahul
73xx - Cantemir
44xx - Călărași
43xx - Căușeni
61xx - Ceadîr-Lunga
20xx - Chișinău
41xx - Cimișlia
38xx - Comrat
48xx - Criuleni
51xx - Dondușeni
52xx - Drochia
4571 - Cocieri
46xx - Edineț
59xx - Fălești
50xx - Florești
49xx - Glodeni
34xx - Hîncesti
68xx - Ialoveni
63xx - Leova
64xx - Nisporeni
71xx - Ocnița
35xx - Orhei
54xx - Rezina
56xx - Rîscani
62xx - Sîngerei
30xx - Soroca
37xx - Strășeni
72xx - Șoldănești
42xx - Ștefan Vodă
74xx - Taraclia
58xx - Telenești
36xx - Ungheni



the first two digits denote city or region; the remainder denotes the delivery route, down to street side and segment. There is a scheme that uses a check digit to denote odd street number, even street number, or even boat moorings, which is easy enough to implement to check validity of addresses.



Postcode / area:

0100-1299 Oslo
1300-1999 South East region (Østfold county)
2000-2999 Central East region
3000-3999 Central South region (Vestfold, Telemark counties)
4000-4999 South (Agder, Rogaland counties, Stavanger, Haugesund)
5000-5999 West (Hordaland county, Bergen)
6000-6999 North west region (Ålesund, Molde)
7000-7999 Mid Central region (Trøndelag counties, Trondheim)
8000-8999 Low north (Nordland)
9000-9999 High north (Troms, Finnmark, Svalbard)

Nrk/YR is making an effort to make a free database



First digit corresponds to one of 10 mail sorting lines. Each base code has approximately the same number of addresses, numeric IDS ascend going southwards. See NZ Post postcodes. Directories are freely downloadable but copyright. Database costs $.

  • 0000 Northland, Northern and Western Auckland
  • 1000 Central Auckland
  • 2000 Southern and Eastern Auckland
  • 3000 Waikato and Bay of Plenty
    • 30xx Rotorua
    • 31xx Tauranga/Whakatane
    • 32xx Hamilton
  • 4000 Taranaki, Hawke's Bay, Gisborne, Manawatu-Wanganui (not Horowhenua)
    • 40xx Gisborne
    • 41xx Napier/Hastings
    • 44xx Palmerston North
  • 5000 Horowhenua, Greater Wellington (includes Tawa but not the rest of Wellington City)
    • 50xx Hutt Valley, Porirua/Tawa, Paraparaumu/Waikanae urban street addresses
    • 55xx Levin
    • 58xx Masterton
  • 6000 Wellington City (not Tawa)
  • 7000 Nelson, Marlborough, Tasman, West Coast, Canterbury (not Christchurch)
    • 70xx Nelson
    • 72xx Blenheim
    • 74xx Rangiora
    • 77xx Ashburton
    • 79xx Timaru
  • 8000 Christchurch
    • 80xx urban street addresses
  • 9000 Otago and Southland
    • 90xx Dunedin
    • 93xx Queenstown
    • 94xx Oamaru



Like Croatia / Slovenia - assigned to the post office. In most cases first three digits identify city (nn-nxx). Consult wikipedia for more details: [6]



First two digits are marking the county (region). More details on [7]


nnn nn

Not street level, usually in densly populated areas a street have more than one postcode, but where the population is more sparse there might be many streets per postcode. I did a fast count of the number of people per postcode and came up with 1000 per number, in Stockholm.

Postcode Location Comment
10x xx Stockholm PO boxes and companies
11x xx Stockholm Street addresses
20x xx Malmö PO boxes and companies
21x xx Malmö Street addresses
22x xx Lund  
25x xx Helsingborg  
30x xx Halmstad  
35x xx Växjö  
40x xx Göteborg PO boxes and companies
41x xx Göteborg Street addresses
50x xx Borås  
55x xx Jönköping  
58x xx Linköping  
60x xx Norrköping  
63x xx Eskilstuna  
64x xx Torshälla  
65x xx Karlstad  
70x xx Örebro  
72x xx Västerås  
75x xx Uppsala  
80x xx Gävle  
85x xx Sundsvall  
90x xx Umeå  
97x xx Luleå Before the revision 951 xx



Top level post codes:

1000 Ljubljana
2000 Maribor
3000 Celje
4000 Kranj
5000 Nova Gorica
6000 Koper
7000 (unassigned)
8000 Novo mesto
9000 Murska Sobota

Like in Croatia ([Free_The_Postcode#HR HR]) postal codes in Slovenia are assigned to a post office, not to a particular geographic area, although an office has assigned places (city, villages...). Bigger companies (national television station, mobile operators, newspapers...) get their own 4-digit post code.

Post code finder and download:



the first two digits denote province, as also used for vehicle licence plate prefix. Not street level.


nnnnn or nnn.

I had fun exploring the Taiwan Post Office's postal code CDROM. They hand it out free at the post office, and one finds no copyright notice on it. The CDROM is better than their website, , which doesn't expose the innards.


Postcode Province Administrative centre
01xxx-06xxx Kyiv-city
07xxx-09xxx Kyiv-province
10xxx-13xxx Zhytomyr 100xx-Zhytomyr
14xxx-17xxx Chernihiv 140xx-Chernihiv
18xxx-20xxx Cherkasy 180xx-Cherkasy
21xxx-24xxx Vinnytsia 210xx-Vinnytsia
25xxx-28xxx Kirovohrad 250xx-Kropyvnytskyi
29xxx-32xxx Khmelnytskyi 290xx-Khmelnytskyi
33xxx-35xxx Rivne 330xx-Rivne
36xxx-39xxx Poltava 360xx-Poltava
40xxx-42xxx Sumy 400xx-Sumy
43xxx-45xxx Volyn 430xx-Lutsk
46xxx-49xxx Ternopil 460xx-Ternopil
49xxx-53xxx Dnipropetrovsk 490xx-Dnipro
54xxx-57xxx Mykolaiv 540xx-Mykolaiv
58xxx-60xxx Chernivtsi 580xx-Chernivtsi
61xxx-64xxx Kharkiv 610xx-611xx-Kharkiv
65xxx-69xxx Odesa 650xx-Odesa
69xxx-72xxx Zaporizhzhia 690xx-Zaporizhzhia
73xxx-75xxx Kherson 730xx-Kherson
76xxx-78xxx Ivano-Frankivsk 760xx-Ivano-Frankivsk
79xxx-82xxx Lviv 790xx-Lviv
83xxx-88xxx Donetsk 830xx-Donetsk
88xxx-90xxx Zakarpattia 880xx-Uzhhorod
91xxx-94xxx Luhansk 910xx-Luhansk
97xxx-98xxx Crimea 95000-Simferopol
99xxx Sevastopol


a(a)n(n|a) naa

the initial alpha(s) are a mnemonic for city or region. All of Northern Ireland is BTn(n), despite containing several cities. London on the other hand is divided into several regions. Quite complex to parse/validate. Mnemonic look-up tables will be needed.

Girobank post codes are an exception (GIR naa) - see the PAF digest The first part of the postcode is known as the "Outward" part, and the second part is the "Inward" part. Typically, the "Outward" part relates to one, and only one postal town, though there are some exceptions.

A lot of the impetus for the Free The Postcode project came from the UK, where postcode data was not freely available. To some extent the project has succeeded, as Ordnance Survey were forced to release postcode locations data for Great Britain as part of the their open data releases, in a dataset called Code-Point. See OS Opendata#Code-Point Open. However that dataset only has centroid points, whereas a postcodes are actually polygons, or even a "point cloud", and so the Free The Postcode dataset still can potentially add value in the UK. Even so, the OS data release rather reduces the project's value in the UK, but Free The Postcode helped to make that happen!

The OS Opendata does not include Northern Ireland postcodes (which all begin BT). However these postcodes (along with the Great Britain codes) are part of the Office of National Statistics (ONS) Postcode Directory (National Statistics Postcode Products). It is essential to note that the Northern Ireland postcodes in this dataset have eastings and northings on the OSI, not the OSGB grid.

The ONS dataset also contains creation and expiry dates of postcodes where known, and it includes some postcodes (denoted by an expiry date in the past) which are no longer current, hence it is important to check the expiry date when there is no interest in obsolete postcodes.

There's an old page tracking UK coverage at Free The Postcode UK Coverage

British Crown Dependencies

Postcodes have been allocated for the Isle of Man (IM) and the Channel Islands (GU, JE). These are formatted and allocated in an identical manner to the UK. The postcodes are present in the ONS dataset but unfortunately without coordinates.

UK Overseas Territories

aaaa 1ZZ

Several of the UK's Overseas Territories have now been allocated a postcode (one single postcode per territory). They are generally a four letter code (based on the territory name), followed by 1ZZ. One exception is for Gibraltar, which uses a postcode of GX11 1AA. Wikipedia has an apparently full list of them.

The Gibraltarian authorities have stated that GX11 1AA is a temporary postcode until they devise their own system, based on that of the UK. [8].


(aa) nnnnn(-nnnn)

the alphas denote state, the nnnnn seem to be low in the Eastern US, high in the West. The -nnnn suffix brings zipcodes down to the carrier level. The street address and zip+4 is all the address that is needed in the USA.


0000-2999 Northern Region (Gauteng, Mpumalanga, most of North West, Limpopo)
3000-4999 Eastern Region (Kwa Zulu Natal, eastern part of Eastern Cape)
5000-6699 Southern Region (Eastern Cape, eastern parts of Wetsern Cape)
6000-8299 Western Region (Western Cape (Cape Town and West Coast), Northern Cape)
8300-9999 Central Region (Northern Cape and Free State) (excluding 9000-9299, formerly South West Africa)

Wikipedia:List of postal codes in South Africa



Alongside the data links the website also mentions the words 'public domain'.

See Talk:Free The Postcode#Legal for more detail (discussions)