Skip to main content
Codes postaux européens : référence pays par pays pour développeurs
Guides

Codes postaux européens : référence pays par pays pour développeurs

Les codes postaux européens varient en longueur, format et signification. Référence pays par pays pour les 27 États de l'UE, le Royaume-Uni, la Suisse et la Norvège.

Brent van der Heiden6 min read
#codes postaux#codes postaux européens#validation d'adresse#géocodage#eu data#regex

Tout développeur qui a construit un formulaire d'adresse pour des clients européens finit par le découvrir : il n'existe pas de format européen de code postal. Chaque pays a le sien, et les différences ont un vrai sens. Cette page est une référence pays par pays pour l'UE à 27 et les principaux pays européens hors UE, avec les expressions régulières et les conseils de validation dont vous avez besoin en production.

Les grandes familles de formats

Les codes postaux européens se répartissent en quatre groupes environ :

  1. 5 chiffres : Allemagne, France, Italie, Espagne, Finlande, Croatie, Estonie, Grèce, Lituanie, Slovaquie.
  2. 4 chiffres : Belgique, Bulgarie, Hongrie, Autriche, Suisse, Liechtenstein, Luxembourg, Norvège, Slovénie, Danemark.
  3. Alphanumérique, format fixe : Pays-Bas (4 chiffres plus 2 lettres), Irlande (Eircode, 7 caractères alphanumériques), Malte (3 lettres plus 4 chiffres).
  4. Alphanumérique hiérarchique : Royaume-Uni (longueur variable, deux parties).

S'y ajoutent quelques cas particuliers : la Suède écrit ses 5 chiffres avec une espace après le troisième (123 45), la Pologne avec un tiret après le deuxième (00-001), et la Tchéquie avec une espace après le troisième (110 00).

Référence pour l'UE à 27

PaysISOFormatExempleRegex
AllemagneDE5 chiffres10115^\d{5}$
AutricheAT4 chiffres1010^\d{4}$
BelgiqueBE4 chiffres1000^\d{4}$
BulgarieBG4 chiffres1000^\d{4}$
ChypreCY4 chiffres1010^\d{4}$
CroatieHR5 chiffres10000^\d{5}$
DanemarkDK4 chiffres1050^\d{4}$
EspagneES5 chiffres28013^\d{5}$
EstonieEE5 chiffres10111^\d{5}$
FinlandeFI5 chiffres00100^\d{5}$
FranceFR5 chiffres75008^\d{5}$
GrèceGRNNN NN105 63^\d{3} ?\d{2}$
HongrieHU4 chiffres1051^\d{4}$
IrlandeIEEircodeD02 X285^[A-Z]\d[\dW] ?[A-Z0-9]{4}$
ItalieIT5 chiffres00184^\d{5}$
LettonieLVLV-NNNNLV-1050^LV-\d{4}$
LituanieLTLT-NNNNNLT-01100^LT-\d{5}$
LuxembourgLU4 chiffres1234^\d{4}$
MalteMTLLL NNNNVLT 1234^[A-Z]{3} ?\d{4}$
Pays-BasNLNNNN LL1011 AB^\d{4} ?[A-Z]{2}$
PolognePLNN-NNN00-001^\d{2}-\d{3}$
PortugalPTNNNN-NNN1000-001^\d{4}-\d{3}$
RoumanieRO6 chiffres010001^\d{6}$
SlovaquieSKNNN NN811 01^\d{3} ?\d{2}$
SlovénieSI4 chiffres1000^\d{4}$
SuèdeSENNN NN111 22^\d{3} ?\d{2}$
TchéquieCZNNN NN110 00^\d{3} ?\d{2}$

Principaux pays européens hors UE

PaysISOFormatExempleRegex
IslandeIS3 chiffres101^\d{3}$
LiechtensteinLI4 chiffres9490^\d{4}$
NorvègeNO4 chiffres0150^\d{4}$
Royaume-UniGBhiérarchiqueSW1A 1AA^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$
SuisseCH4 chiffres8001^\d{4}$

Le code postal britannique en détail

Le système britannique fait tenir plus de niveaux dans un seul code que la plupart des systèmes européens. Un code comme SW1A 1AA se décompose ainsi :

  • SW : zone postale (Londres Sud-Ouest)
  • SW1A : district postal (Whitehall, Westminster et St James's)
  • SW1A 1 : secteur postal (quelques rues)
  • SW1A 1AA : unité postale (un point de livraison précis, souvent un seul bâtiment)

Grâce à cette hiérarchie, un code postal britannique peut désigner un bâtiment. C'est pourquoi les produits britanniques s'en servent souvent pour regrouper des adresses par quartier, voire par rue. L'Eircode irlandais va plus loin et attribue à chaque adresse individuelle son propre code.

Valider en production

La méthode la plus simple en production est une table d'expressions régulières par pays, comme celle ci-dessus, choisie selon le code pays de l'adresse. Ce code pays peut venir :

  • d'une liste déroulante où l'utilisateur a choisi son pays
  • de la géolocalisation de l'adresse IP de l'utilisateur
  • du résultat du géocodeur (la plupart des géocodeurs en production normalisent le code postal et incluent le code pays dans la réponse)

Évitez de valider un code postal sans connaître le pays. Un code à 4 chiffres est valide dans des dizaines de pays et invalide dans bien d'autres.

Pour les parcours à fort enjeu (paiement, KYC, secteurs réglementés), n'en restez pas à la regex. Envoyez l'adresse à un géocodeur, et considérez comme validée une réponse de précision « rooftop » ou « street », plutôt que la seule conformité au format. Un code postal bien formé peut très bien ne correspondre à aucune adresse réelle.

Stockage et normalisation

Stockez les codes postaux sous forme de chaînes de caractères, pas de nombres. Les zéros initiaux comptent (01100 est un code lituanien valide ; 1100 ne l'est pas). Quelques règles de stockage :

  • Supprimez les caractères non alphanumériques pour comparer des jeux de données.
  • À l'affichage, utilisez la forme officielle du pays (avec tirets, espaces et préfixes).
  • Stockez toujours le code pays avec le code postal, même si votre produit ne couvre qu'un pays aujourd'hui. Votre schéma suivra une expansion à plusieurs pays sans migration.

Ce que propose MapAtlas

L'API Geocoding de MapAtlas renvoie un champ address_components.postal_code normalisé pour chaque pays pris en charge, validé par rapport aux données sources. L'API Search accepte un code postal comme entrée de recherche et renvoie le lieu correspondant. Les deux API sont hébergées dans l'UE, conformes au RGPD et construites sur des données de qualité OSM, avec un analyseur d'adresses dédié à chaque pays.

Pour voir en détail comment une adresse devient des coordonnées, lisez Qu'est-ce qu'un géocode. Pour comprendre la latitude et la longitude derrière chaque réponse en coordonnées, lisez Longitude et latitude.

Questions fréquemment posées

Quel est le format des codes postaux européens ?

Il n'existe pas de format unique pour les codes postaux européens. Chaque pays définit le sien. La plupart utilisent un code numérique de longueur fixe (5 chiffres en Allemagne, France, Italie, Espagne ; 4 chiffres en Belgique, Hongrie, Autriche, Suisse), mais plusieurs ont des codes alphanumériques : 4 chiffres et 2 lettres aux Pays-Bas, un système complexe en deux parties au Royaume-Uni, l'Eircode à 7 caractères en Irlande. Un validateur d'adresses fiable doit donc connaître le format de chaque pays de l'UE à 27, ainsi que celui des principaux pays européens hors UE.

Un code postal allemand (Postleitzahl) est-il identique à un code postal polonais ?

Les deux comptent cinq chiffres, mais leur structure diffère. L'Allemagne utilise 5 chiffres d'affilée (par exemple 10115). La Pologne utilise 2 chiffres, un tiret, puis 3 chiffres (par exemple 00-001). Pour le stockage, gardez la forme officielle : avec le tiret pour la Pologne, sans pour l'Allemagne. Pour rapprocher des jeux de données, normalisez en supprimant les caractères non alphanumériques, puis réappliquez le format du pays à l'affichage.

Comment valider un code postal de n'importe quel pays de l'UE ?

Commencez par identifier le pays (à partir de l'adresse, d'un code pays ISO 3166-1 alpha-2 ou de la géolocalisation de l'utilisateur). Appliquez ensuite l'expression régulière de ce pays. C'est la méthode standard en production, car une regex unique pour tous les pays rejetterait des codes valides ou accepterait des codes manifestement faux. L'API Geocoding de MapAtlas renvoie un code postal normalisé pour chaque pays dans ses `address_components`. En général, vous laissez donc le géocodeur faire la validation à votre place.

Pourquoi le système de codes postaux du Royaume-Uni est-il si différent ?

Les codes postaux britanniques utilisent un système alphanumérique hiérarchique qui encode la zone postale, le district, le secteur et l'unité en deux parties (ex. SW1A 1AA pour Buckingham Palace). Chaque code porte plus d'information géographique que dans la plupart des systèmes nationaux. C'est pourquoi on utilise parfois le code postal britannique pour désigner un quartier, voire une seule rue. Le système date des années 1950 et 1960, et il a depuis été adapté aux infrastructures de données modernes.

Vous avez trouvé cela utile ? Partagez-le.

À propos de l'auteur

Brent van der Heiden

Rédigé par

Brent van der Heiden

Co-Founder & CEO at MapAtlas

Brent built MapAtlas out of a conviction that developers deserve location APIs with fair pricing and genuine end-user privacy. Before that he co-founded MapMetrics, a community mapping and navigation app. He writes about geospatial infrastructure, map data, AI search visibility, and how location data powers the products people rely on every day.

Voir tous les articles →
Retour au blog