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 considérablement en longueur, format et signification. Ce guide est une référence pays par pays pour les 27 États membres de l'UE

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

Chaque développeur ayant construit un formulaire d'adresse pour des clients européens finit par découvrir la vérité : il n'existe pas de format de code postal européen. Chaque pays possède le sien, et les variations sont réellement significatives. Cette page est une référence pays par pays couvrant les 27 membres de l'UE plus les principaux pays européens non membres, avec les patterns regex et conseils de validation dont vous avez besoin en production.

Le pattern de haut niveau

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

  1. 5 chiffres numériques : Allemagne, France, Italie, Espagne, Finlande, Croatie, Estonie, Grèce, Lituanie, Slovaquie.
  2. 4 chiffres numériques : 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 alphanumériques), Malte (3 lettres plus 4 chiffres).
  4. Alphanumérique hiérarchique : Royaume-Uni (longueur variable, deux parties).

Plus quelques cas particuliers : la Suède utilise 5 chiffres avec une espace après le troisième (123 45), la Pologne utilise 5 chiffres avec un tiret après le deuxième (00-001), la Tchéquie utilise 5 chiffres avec une espace après le troisième (110 00).

Référence 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{2} ?[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 est le plus dense en informations d'Europe. Un code comme SW1A 1AA se décompose ainsi :

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

Cette hiérarchie signifie qu'un code postal britannique peut identifier un bâtiment, c'est pourquoi les produits britanniques utilisent souvent le code postal comme proxy pour un regroupement au niveau du quartier ou même de la rue. Presque aucun autre système de codes postaux ne permet cela.

Patterns de validation en production

L'approche la moins coûteuse en production est une table de regex par pays comme celle ci-dessus, appliquée à partir d'un code pays de l'adresse. Le code pays peut provenir de :

  • Un sélecteur explicite que l'utilisateur a choisi
  • La géolocalisation IP de l'utilisateur
  • Le 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 12 pays et invalide dans bien d'autres.

Pour les flux à fort enjeu (paiement, KYC, secteurs réglementés), ne vous arrêtez pas au regex. Envoyez l'adresse à un géocodeur et traitez une réponse de précision "rooftop" ou "street" comme la validation, pas le seul match regex. Un code postal correctement formaté peut tout de même ne pas correspondre à une 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). Conventions de format de stockage :

  • Supprimez les caractères non alphanumériques lors des comparaisons entre jeux de données.
  • Affichez dans la forme canonique du pays (avec tirets, espaces, préfixes) en sortie.
  • Stockez toujours le code pays aux côtés du code postal, même si votre produit n'opère que dans un seul pays aujourd'hui. Le schéma s'adapte à l'expansion multi-pays sans migration.

Comment MapAtlas aide

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 en UE, conformes RGPD et construites sur des données de qualité OSM avec des parseurs d'adresses explicites par pays.

Pour une analyse approfondie de la manière dont les adresses deviennent des coordonnées, consultez Qu'est-ce qu'un géocode. Pour la mécanique de longitude et latitude derrière chaque réponse de coordonnées, consultez 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 utilisent des codes alphanumériques (les Pays-Bas utilisent 4 chiffres plus 2 lettres, le Royaume-Uni utilise un système alphanumérique complexe en deux parties, l'Irlande utilise l'Eircode avec 7 caractères alphanumériques). Un validateur d'adresses fonctionnel doit contenir un pattern par pays pour les 27 membres de l'UE plus les principaux pays européens non membres.

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

Les deux comportent cinq caractères mais la structure diffère. L'Allemagne utilise 5 chiffres contigus (ex. 10115). La Pologne utilise 2 chiffres, un tiret, puis 3 chiffres (ex. 00-001). Pour le stockage, vous pouvez conserver la forme canonique avec le tiret pour la Pologne et sans pour l'Allemagne. Pour la correspondance entre jeux de données, normalisez en supprimant les caractères non alphanumériques et en réappliquant le format spécifique au pays lors de 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 le pattern regex de ce pays. La validation par pays est le pattern standard en production, car un regex global unique rejetterait des codes valides ou en accepterait des clairement invalides. L'API Geocoding MapAtlas renvoie un code postal normalisé par pays dans ses `address_components`, de sorte que vous laissez généralement le géocodeur effectuer l'étape de 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). Il contient plus d'informations spatiales par code que la plupart des systèmes nationaux, c'est pourquoi les codes postaux britanniques sont parfois utilisés comme proxy pour un quartier, voire une rue individuelle. Le système a été conçu dans les années 1950 et 1960 et a depuis été intégré à l'infrastructure de données moderne.

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. He writes about geospatial infrastructure, AI search visibility, and how location data powers the products people rely on every day.

Voir tous les articles
Retour au blog