Skip to main content
Europese postcodeformaten: een landenreferentie voor developers
Guides

Europese postcodeformaten: een landenreferentie voor developers

Europese postcodes variëren sterk in lengte, formaat en betekenis. Een landenreferentie voor de 27 EU-lidstaten plus VK, Zwitserland en Noorwegen

Brent van der Heiden5 min read
#postcodes#europese postcodes#adresvalidatie#geocoding#eu data#regex

Elke developer die ooit een adresformulier voor Europese klanten heeft gebouwd, ontdekt uiteindelijk de waarheid: er is geen Europees postcodeformaat. Elk land heeft zijn eigen formaat en de variaties zijn echt betekenisvol. Deze pagina is een landenreferentie voor de EU-27 plus de belangrijkste niet-EU-Europese landen, met de regex-patronen en validatietips die je in productie nodig hebt.

Het globale patroon

Europese postcodes vallen ruwweg in vier groepen:

  1. 5-cijferig numeriek: Duitsland, Frankrijk, Italië, Spanje, Finland, Kroatië, Estland, Griekenland, Litouwen, Slowakije.
  2. 4-cijferig numeriek: België, Bulgarije, Hongarije, Oostenrijk, Zwitserland, Liechtenstein, Luxemburg, Noorwegen, Slovenië, Denemarken.
  3. Alfanumeriek, vast formaat: Nederland (4 cijfers plus 2 letters), Ierland (Eircode, 7 alfanumerieke tekens), Malta (3 letters plus 4 cijfers).
  4. Hiërarchisch alfanumeriek: Verenigd Koninkrijk (variabele lengte, tweeledig).

Plus een paar uitzonderingen: Zweden gebruikt 5 cijfers met een spatie na het derde (123 45), Polen gebruikt 5 cijfers met een koppelteken na het tweede (00-001), Tsjechië gebruikt 5 cijfers met een spatie na het derde (110 00).

De EU-27 referentie

LandISOFormaatVoorbeeldRegex
OostenrijkAT4 cijfers1010^\d{4}$
BelgiëBE4 cijfers1000^\d{4}$
BulgarijeBG4 cijfers1000^\d{4}$
KroatiëHR5 cijfers10000^\d{5}$
CyprusCY4 cijfers1010^\d{4}$
TsjechiëCZNNN NN110 00^\d{3} ?\d{2}$
DenemarkenDK4 cijfers1050^\d{4}$
EstlandEE5 cijfers10111^\d{5}$
FinlandFI5 cijfers00100^\d{5}$
FrankrijkFR5 cijfers75008^\d{5}$
DuitslandDE5 cijfers10115^\d{5}$
GriekenlandGRNNN NN105 63^\d{3} ?\d{2}$
HongarijeHU4 cijfers1051^\d{4}$
IerlandIEEircodeD02 X285^[A-Z]\d{2} ?[A-Z0-9]{4}$
ItaliëIT5 cijfers00184^\d{5}$
LetlandLVLV-NNNNLV-1050^LV-\d{4}$
LitouwenLTLT-NNNNNLT-01100^LT-\d{5}$
LuxemburgLU4 cijfers1234^\d{4}$
MaltaMTLLL NNNNVLT 1234^[A-Z]{3} ?\d{4}$
NederlandNLNNNN LL1011 AB^\d{4} ?[A-Z]{2}$
PolenPLNN-NNN00-001^\d{2}-\d{3}$
PortugalPTNNNN-NNN1000-001^\d{4}-\d{3}$
RoemeniëRO6 cijfers010001^\d{6}$
SlowakijeSKNNN NN811 01^\d{3} ?\d{2}$
SloveniëSI4 cijfers1000^\d{4}$
SpanjeES5 cijfers28013^\d{5}$
ZwedenSENNN NN111 22^\d{3} ?\d{2}$

Belangrijke niet-EU-Europese landen

LandISOFormaatVoorbeeldRegex
Verenigd KoninkrijkGBhiërarchischSW1A 1AA^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$
ZwitserlandCH4 cijfers8001^\d{4}$
NoorwegenNO4 cijfers0150^\d{4}$
IJslandIS3 cijfers101^\d{3}$
LiechtensteinLI4 cijfers9490^\d{4}$

De Britse postcode in detail

Het Britse systeem is het informatiedicthste in Europa. Een code als SW1A 1AA valt uiteen in:

  • SW: postgebied (Londen South West)
  • SW1A: postdistrict (St James's en Pimlico)
  • SW1A 1: postsector (een paar straten)
  • SW1A 1AA: posteenheid (specifiek afleveringspunt, vaak één gebouw)

Door deze hiërarchie kan een Britse postcode een gebouw identificeren, wat waarom Britse producten de postcode vaak als proxy gebruiken voor wijk- of zelfs straatniveaugroepering. Vrijwel geen enkel ander landelijk postcodesysteem doet dit.

Productievalidatiepatronen

De goedkoopste productiebenadering is een landsspecifieke regex-tabel zoals hierboven, toegepast op basis van een landcode uit het adres. Die landcode kan komen van:

  • Een expliciete dropdown die de gebruiker heeft geselecteerd
  • De IP-geolocatie van de gebruiker
  • Het geocodingresultaat (de meeste productiegecoders normaliseren de postcode en nemen de landcode op in de respons)

Vermijd het valideren van een postcode zonder het land te kennen. Een 4-cijferige code is geldig in 12 landen en ongeldig in vele anderen.

Voor processen met hoge inzet (betaling, KYC, gereguleerde sectoren) stop dan niet bij regex. Stuur het adres naar een geocoder en behandel een "rooftop"- of "street"-precisierespons als de validatie, niet het regex-resultaat alleen. Een correct geformatteerde postcode kan nog steeds niet overeenkomen met een echt adres.

Opslaan en normaliseren

Sla postcodes op als strings, niet als getallen. Voorloopnullen zijn belangrijk (01100 is een geldige Litouwse code; 1100 is dat niet). Opslagconventies:

  • Verwijder niet-alfanumerieke tekens bij vergelijking over datasets.
  • Geef de landkanonieke vorm (met koppeltekens, spaties, voorvoegsels) weer bij uitvoer.
  • Sla altijd de landcode op naast de postcode, ook als je product vandaag maar in één land actief is. Het schema schaalt naar meerdere landen zonder migratie.

Hoe MapAtlas helpt

De MapAtlas Geocoding API retourneert een genormaliseerd address_components.postal_code-veld voor elk ondersteund land, gevalideerd tegen de brondata. De Search API accepteert een postcode als zoekinvoer en retourneert de bijbehorende locatie. Beide APIs zijn EU-gehost, GDPR-compliant en gebouwd op OSM-grade data met expliciete landsspecifieke adresparsers.

Voor een diepere blik op hoe adressen coördinaten worden, zie Wat is een geocode. Voor de breedtegraad- en lengtegraadmechanica achter elke coördinatenrespons, zie Lengtegraad vs breedtegraad.

Veelgestelde vragen

Wat is het formaat van Europese postcodes?

Er is geen enkel Europees postcodeformaat. Elk land definieert zijn eigen. De meeste gebruiken een numerieke code met vaste lengte (5 cijfers in Duitsland, Frankrijk, Italië, Spanje; 4 cijfers in België, Hongarije, Oostenrijk, Zwitserland), maar sommige gebruiken alfanumerieke codes (Nederland gebruikt 4 cijfers plus 2 letters, het Verenigd Koninkrijk gebruikt een complex tweeledig alfanumeriek systeem, Ierland gebruikt Eircode met 7 alfanumerieke tekens). Een werkende adresvalidator moet een landspecifiek patroon bevatten voor de EU-27 plus de belangrijkste niet-EU-Europese landen.

Is een Duitse postcode (Postleitzahl) hetzelfde als een Poolse postcode?

Beide hebben vijf tekens, maar de structuur verschilt. Duitsland gebruikt 5 aaneengesloten cijfers (bijv. 10115). Polen gebruikt 2 cijfers, een koppelteken en dan 3 cijfers (bijv. 00-001). Voor opslag kun je de canonieke vorm bewaren: met koppelteken voor Polen en zonder voor Duitsland. Voor vergelijking over datasets heen: normaliseer door niet-alfanumerieke tekens te verwijderen en pas het landspecifieke formaat opnieuw toe bij weergave.

Hoe valideer ik een postcode uit een EU-land?

Identificeer eerst het land (uit het adres, een ISO 3166-1 alpha-2-landcode of de geolocatie van de gebruiker). Pas vervolgens het regex-patroon van dat land toe. Landsbewuste validatie is het standaardproductiepatroon, omdat één globale regex ofwel geldige codes afwijst of duidelijk ongeldige codes accepteert. De MapAtlas Geocoding API retourneert een genormaliseerde postcode per land in de `address_components`, zodat je de validatiestap doorgaans aan de geocoder overlaat.

Waarom ziet het postcodeformaat van het Verenigd Koninkrijk er zo anders uit?

UK-postcodes gebruiken een hiërarchisch alfanumeriek systeem dat het postgebied, district, sector en eenheid codeert in twee delen (bijv. SW1A 1AA voor Buckingham Palace). Het draagt meer ruimtelijke informatie per code dan de meeste landssystemen, wat waarom UK-postcodes soms als proxy worden gebruikt voor wijk- of zelfs straatniveau. Het systeem werd in de jaren vijftig en zestig ontworpen en is sindsdien in moderne data-infrastructuur ingebouwd.

Was dit nuttig? Deel het.

Over de auteur

Brent van der Heiden

Geschreven door

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.

Alle artikelen bekijken
Terug naar blog