Data sources
This page lists the four data sources used by moncodepostal.fr to produce its pages, maps, and search engine:
- The postal-code directory produced by La Poste
- The geographic boundaries of municipalities produced by the IGN
- The BAN (National Address Database), a list of all addresses in France
- The geocoding API called in real time in some cases
1 - The postal-code directory
This directory, called HEXASMAL, is a simple file published by La Poste that links each commune (through its INSEE code) to its postal code or postal codes. A commune can have several postal codes, and conversely a postal code can cover several communes. This database is the reference for all lists displayed on the site.
Version used on this site: May 8, 2026 edition.
For more details on the format and content of this file, see our article HEXASMAL: the official postal-code database.
Commune contours are also present in this HEXASMAL dataset, but we did not use them. It turns out that they are only commune boundaries, whereas we need to separate them when there are multiple postal codes in a commune. We found another "official" source published by the public service adresse.data.gouv.fr named Computed contours of postal code zones. It is not very precise and has not been updated: see our study of this dataset. That is why we tried to compute them ourselves.
2 - The geographic boundaries of communes
IGN regularly publishes the geographic boundaries of every commune in a dataset named ADMIN EXPRESS; we use this as the main source for determining postal-code contours. When a postal code is equal to one commune, we reuse that contour, and when a postal code consists of several communes, we merge their contours. One problem remains: in 394 cases, a commune contains several postal codes, so we tried to create those internal boundaries.
Version used on this site: January 1, 2026 edition.
3 - BAN: 25 million addresses to infer the contours
The National Address Database lists nearly 25 million French addresses, each tied to precise coordinates (latitude, longitude) and to its postal code.
We used it to determine the contours of the 394 municipalities have multiple postal codes. For each of these communes, we analyze address lists to determine a split into postal-code zones.

We also use it on every postal-code page: click "View the addresses" to display the points belonging to that postal code.
We chose not to store all 25 million addresses with their full names; we only store latitude / longitude coordinate lists grouped by postal code
Version used for address points: April 29, 2026 edition.
4 - Geocoding API: real-time search
For searches by commune name or postal code, our own servers answer. When a user searches for a full address, such as one with a street number, we call the IGN geocoding API in real time, and it returns the corresponding postal code.
The same API is queried in reverse mode when the user clicks a BAN point on a map: we ask the API what address is at that latitude / longitude, and we display it.
Limitations and data quality
Some coordinates we downloaded from BAN do not return the same postal code when we query the live geocoding API. In practice, a user can click a point and sometimes get an address with another postal code.
Commune boundaries are available in simplified form on our pages to avoid making users download too much data. Loading more precise contours when the user zooms could be an improvement.
Despite our attempts to split communes, some results remain inconclusive, especially when postal codes are mixed within the same area; see Saint-Paul for example. This may explain why there is not really an official source for postal-code contours. Better postal addressing in the BAN database may need to come first.
Municipality names in the HEXASMAL database are uppercase, without accents or hyphens (e.g. 'ST ETIENNE SUR CHALARONNE' instead of 'Saint-Étienne-sur-Chalaronne'). About 13% of names differ from those in INSEE's Code Officiel Géographique (COG):
- 'Saint' is abbreviated to 'ST' and 'Sainte' to 'STE' — this affects about 4,400 municipalities, or 12.6% of the total.
- The ligature "œ" is replaced by "OE" (e.g. COEUVRES instead of Cœuvres) — about 110 communes.
- A few dozen communes have other minor discrepancies (missing words, merged commune names not yet synchronised between the two databases).
The site search accepts both forms: searching for "saint-étienne" or "st etienne" returns the same results.
Links to the websites of the data sources used
- HEXASMAL database — the official French postal-code directory produced by La Poste.
- ADMIN EXPRESS — official commune geographic contours, published by IGN.
- National Address Database (BAN) — the national address database, run by Service public de la donnée.
- Geocoding API — real-time geocoding service provided by IGN.
