moncodepostal.frHomeMap

Data sources

This page lists the four data sources used by moncodepostal.fr to produce its pages, maps, and search engine:

  1. The postal-code directory produced by La Poste
  2. The geographic boundaries of municipalities produced by the IGN
  3. The BAN (National Address Database), a list of all addresses in France
  4. 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.

Map of Isigny-sur-Mer showing two groups of BAN address points, red for 14230 and green for 14330, used to approximately split the commune into two postal-code zones
Example: Isigny-sur-Mer HEXASMAL lists 2 postal codes, so we needed the splitting algorithm. The result is quite precise: the boundary was drawn between the red and green points (BAN addresses).

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):

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