Postcodes in Nederland: de complete gids over het PC4 en PC6 systeem
Terug naar blog
🇳🇱 Nederland

Postcodes in Nederland: de complete gids over het PC4 en PC6 systeem

GeoRex Team28 februari 202511 min leestijd

Alles wat je moet weten over het Nederlandse postcodesysteem: de structuur van PC4 en PC6, hoe postcodes zijn opgebouwd, en praktische tips voor geocoding en data-analyse.

Het Nederlandse postcodesysteem is een van de meest efficiënte ter wereld. Met slechts zes tekens - vier cijfers en twee letters - kun je elk adres in Nederland tot op straatniveau identificeren. In combinatie met een huisnummer is een Nederlands adres volledig uniek bepaald, iets wat in weinig andere landen mogelijk is.

Voor ontwikkelaars en data-analisten biedt dit systeem enorme mogelijkheden: van snelle adresvalidatie tot geavanceerde locatie-analyses. In deze gids leggen we uit hoe het systeem is opgebouwd, wat het verschil is tussen PC4 en PC6, en hoe je postcodes effectief kunt gebruiken in je applicaties.

Geschiedenis van de Nederlandse postcode

Het Nederlandse postcodesysteem werd in 1978 ingevoerd door PTT (de voorloper van PostNL). Het systeem was een van de eerste ter wereld dat cijfers combineerde met letters, waardoor meer unieke combinaties mogelijk waren in een relatief klein land.

Waarom cijfers én letters?

Met alleen 4 cijfers zou Nederland maximaal 10.000 postcodegebieden kunnen hebben. Door 2 letters toe te voegen (26 × 26 = 676 combinaties per PC4) ontstaan er theoretisch 6,76 miljoen unieke postcodes. Meer dan genoeg voor elk adres in Nederland.

De structuur van een Nederlandse postcode

Een Nederlandse postcode bestaat uit twee delen die samen het adres tot op straatniveau bepalen:

Diagram van de structuur van een Nederlandse postcode met uitleg van elk onderdeel
De Nederlandse postcode is opgebouwd uit vier cijfers (PC4) en twee letters die samen het straatsegment bepalen

Het cijfergedeelte (PC4)

De eerste vier cijfers worden aangeduid als PC4 (Postcode 4). Dit gedeelte bepaalt het geografische gebied op wijkniveau:

  • Eerste cijfer: De regio van Nederland (1 = Amsterdam/Noord-Holland, 2 = Rotterdam/Zuid-Holland, 3 = Utrecht, etc.)
  • Tweede cijfer: Het district binnen de regio
  • Derde en vierde cijfer: De specifieke wijk of buurt
Eerste cijferRegioVoorbeeldsteden
1xxxAmsterdam en omgevingAmsterdam, Haarlem, Zaandam
2xxxRotterdam en Zuid-HollandRotterdam, Den Haag, Leiden
3xxxUtrecht en omgevingUtrecht, Amersfoort, Hilversum
4xxxZuid-Nederland westBreda, Roosendaal, Bergen op Zoom
5xxxNoord-Brabant oostEindhoven, Tilburg, 's-Hertogenbosch
6xxxLimburgMaastricht, Heerlen, Venlo
7xxxOverijsselEnschede, Zwolle, Deventer
8xxxFlevoland en FrieslandLelystad, Leeuwarden, Almere
9xxxGroningen en DrentheGroningen, Assen, Emmen

Het lettergedeelte

De twee letters na de cijfers verfijnen de locatie tot op straatniveau. Binnen één PC4-gebied zijn er theoretisch 676 mogelijke lettercombinaties (26 × 26), al worden niet alle combinaties gebruikt.

Uitgesloten letters

De letters F, I, O, Q, U en Y worden niet gebruikt in Nederlandse postcodes vanwege mogelijke verwarring met cijfers of andere letters. Dit reduceert het aantal combinaties tot 20 × 20 = 400 per PC4.

Kaart die het verschil laat zien tussen PC4 gebieden en PC6 precisie
PC4 bepaalt het gebied, PC6 bepaalt de exacte straat of straatsegment

PC4 vs PC6: wanneer welke gebruiken?

Het verschil tussen PC4 en PC6 is cruciaal voor het kiezen van het juiste niveau voor je use case:

AspectPC4 (4 cijfers)PC6 (4 cijfers + 2 letters)
PrecisieWijk/buurt (~1-2 km²)Straat of straatsegment
Aantal in NL~4.000~470.000
Gemiddeld adressen per code~2.450~21
GebruikRegionale analyses, marketing zonesAdresvalidatie, routeplanning
PrivacyGeschikt voor anonimiseringIdentificeerbaar niveau
Voorbeeld10121012 AB

PC4 use cases

  • Marktanalyse: Koopkracht, demografische data per wijk
  • Bezorggebieden: Definiëren van delivery zones
  • Verzekeringspremies: Risicoprofielen per gebied
  • Privacy-compliant analytics: Anonimisering van klantdata
  • CBS-statistieken: Veel overheidsdata is beschikbaar op PC4-niveau

PC6 use cases

  • Adresvalidatie: Controleren of een adres bestaat
  • Geocoding: Omzetten naar coördinaten
  • Postbezorging: De postcode bepaalt de sorteerroute
  • Routeplanning: Optimale volgorde van adressen
  • Duplicate detectie: Vergelijken van klantrecords

De unieke eigenschap: postcode + huisnummer

Nederland is een van de weinige landen ter wereld waar de combinatie van postcode + huisnummer een adres volledig uniek identificeert. Dit betekent dat je de straatnaam en woonplaats technisch gezien niet nodig hebt - ze kunnen altijd worden afgeleid uit de postcode.

postcode-lookup.js
// Met alleen postcode + huisnummer kun je het volledige adres ophalen
async function getFullAddress(postcode, huisnummer, token) {
const response = await fetch(
`https://api.georex.nl/address?postcode=${postcode}&huisnummer=${huisnummer}&token=${token}`
);
const data = await response.json();
if (data.features.length > 0) {
const props = data.features[0].properties;
return {
street: props.street, // Afgeleid uit postcode
housenumber: props.housenumber,
postcode: props.postcode,
city: props.city, // Afgeleid uit postcode
coordinates: data.features[0].geometry.coordinates
};
}
return null;
}
// Voorbeeld: alleen "1012LG" + "1" geeft volledig adres
const address = await getFullAddress('1012LG', '1', token);
// Resultaat:
// {
// street: "Damrak",
// housenumber: "1",
// postcode: "1012 LG",
// city: "Amsterdam",
// coordinates: [4.8936, 52.3738]
// }

Formulieroptimalisatie

Vraag in je formulieren alleen postcode en huisnummer, en vul straat en woonplaats automatisch in. Dit verbetert de gebruikerservaring én zorgt voor correcte data.

Postcodeformaten en normalisatie

In de praktijk worden postcodes op verschillende manieren geschreven. Je applicatie moet al deze varianten kunnen verwerken:

InvoerGenormaliseerdOpmerking
1012AB1012 ABZonder spatie
1012 ab1012 ABKleine letters
1012 AB1012 ABDubbele spatie
NL-1012 AB1012 ABMet landcode
1012-AB1012 ABMet streepje
normalize-postcode.js
/**
* Normaliseert een Nederlandse postcode naar standaardformaat: "1234 AB"
*/
function normalizePostcode(input) {
if (!input) return null;
// Verwijder niet-alfanumerieke tekens en converteer naar hoofdletters
const cleaned = input.toUpperCase().replace(/[^A-Z0-9]/g, '');
// Controleer of het 6 tekens zijn (4 cijfers + 2 letters)
if (!/^[0-9]{4}[A-Z]{2}$/.test(cleaned)) {
return null; // Ongeldig formaat
}
// Formatteer als "1234 AB"
return `${cleaned.slice(0, 4)} ${cleaned.slice(4)}`;
}
// Voorbeelden
console.log(normalizePostcode('1012ab')); // "1012 AB"
console.log(normalizePostcode('1012 AB')); // "1012 AB"
console.log(normalizePostcode('NL-1012-AB')); // "1012 AB"
console.log(normalizePostcode('invalid')); // null

Postcodes en geocoding

Bij geocoding is het precisieniveau afhankelijk van de beschikbare informatie:

InputPrecisieResultaat
Alleen PC4WijkcentroïdeGeschikt voor regionale analyses, niet voor navigatie
PC6 zonder huisnummerStraatcentroïdeGeschikt voor routeplanning op straatniveau
PC6 + huisnummerExact adresMeter-nauwkeurigheid, geschikt voor navigatie
geocode-precision.js
// Verschillende precisieniveaus bij geocoding
// 1. Alleen PC4 - wijkniveau
const pc4Response = await fetch(
`https://api.georex.nl/geocode?q=1012&token=${token}`
);
// Geeft centroïde van PC4-gebied (nauwkeurigheid: ~500m)
// 2. PC6 - straatniveau
const pc6Response = await fetch(
`https://api.georex.nl/geocode?q=1012AB&token=${token}`
);
// Geeft centroïde van straat of straatsegment (nauwkeurigheid: ~50m)
// 3. Volledig adres - exacte locatie
const fullResponse = await fetch(
`https://api.georex.nl/address?postcode=1012AB&huisnummer=1&token=${token}`
);
// Geeft exacte locatie van het adres (nauwkeurigheid: <5m)

Bijzondere postcodes

Niet alle postcodes volgen het standaardpatroon. Er zijn enkele bijzondere categorieën:

Postbussen

Postbussen hebben speciale postcodes die niet overeenkomen met een fysiek adres. Ze zijn herkenbaar aan het feit dat er geen regulier huisnummer bij hoort.

Grote ontvangers

Bedrijven en instellingen die veel post ontvangen (>10.000 stuks per jaar) kunnen een eigen unieke postcode krijgen. Denk aan de Belastingdienst, grote webshops, of de Tweede Kamer.

Caribisch Nederland

Bonaire, Sint Eustatius en Saba (de BES-eilanden) hebben een eigen postcodesysteem dat niet aansluit bij het Nederlandse systeem. Deze postcodes zijn niet in de standaard BAG opgenomen.

Werken met postcodes in de GeoRex API

De GeoRex API biedt verschillende manieren om met postcodes te werken:

postcode-examples.py
import requests
def get_token(api_key: str) -> str:
response = requests.post(
'https://api.georex.nl/api/token',
headers={'X-API-Key': api_key}
)
return response.json()['token']
token = get_token('gx_live_your_key')
# 1. Exacte lookup met postcode + huisnummer
def lookup_address(postcode: str, huisnummer: str) -> dict:
"""Haal volledig adres op basis van postcode + huisnummer."""
response = requests.get(
'https://api.georex.nl/address',
params={
'postcode': postcode.replace(' ', ''),
'huisnummer': huisnummer,
'token': token
}
)
data = response.json()
if data['features']:
return data['features'][0]
return None
# 2. Valideer of postcode bestaat
def validate_postcode(postcode: str) -> bool:
"""Controleer of een postcode bestaat in Nederland."""
response = requests.get(
'https://api.georex.nl/geocode',
params={
'q': postcode.replace(' ', ''),
'token': token
}
)
data = response.json()
return len(data['features']) > 0
# 3. Geocodeer postcode naar coördinaten
def geocode_postcode(postcode: str) -> tuple:
"""Haal coördinaten op voor een postcode."""
response = requests.get(
'https://api.georex.nl/geocode',
params={
'q': postcode.replace(' ', ''),
'token': token
}
)
data = response.json()
if data['features']:
coords = data['features'][0]['geometry']['coordinates']
return (coords[1], coords[0]) # (lat, lon)
return None
# Voorbeelden
address = lookup_address('1012 LG', '1')
print(f"Adres: {address['properties']['street']} {address['properties']['housenumber']}")
is_valid = validate_postcode('1012 AB')
print(f"Postcode geldig: {is_valid}")
coords = geocode_postcode('1012')
print(f"Centrum PC4 1012: {coords}")

Veelgestelde vragen

Hoeveel postcodes heeft Nederland?

Nederland heeft ongeveer 4.000 PC4-gebieden en 470.000 unieke PC6-postcodes. Het exacte aantal fluctueert licht door nieuwbouw en sloop.

Kan een postcode veranderen?

Ja, maar het is zeldzaam. Postcodes kunnen veranderen bij grote herinrichtingen, nieuwbouwwijken, of wanneer een straat wordt hernoemd. De BAG en GeoRex zijn altijd up-to-date met de huidige situatie.

Wat is het verschil met een Britse postcode?

Britse postcodes zijn complexer (bijv. "SW1A 1AA") en identificeren gemiddeld slechts 15 adressen. Nederlandse PC6 postcodes identificeren gemiddeld 21 adressen, maar met huisnummer is het adres gegarandeerd uniek - iets wat in het VK niet altijd het geval is.

Samenvatting

Het Nederlandse postcodesysteem is elegant en efficiënt. De belangrijkste punten:

  1. PC4 (4 cijfers) bepaalt het gebied op wijkniveau - gebruik voor analyses en marketing zones
  2. PC6 (4 cijfers + 2 letters) bepaalt de straat - gebruik voor routeplanning
  3. PC6 + huisnummer identificeert een adres uniek - gebruik voor exacte geocoding
  4. Normaliseer altijd naar het formaat "1234 AB" voor consistente data
  5. Straat en woonplaats kunnen worden afgeleid uit de postcode

Door het postcodesysteem goed te begrijpen en te benutten, kun je efficiëntere applicaties bouwen met betere adresvalidatie en nauwkeurigere locatiedata.

Probeer het zelf

Test de GeoRex API met je eigen postcodes. Vraag een gratis API key aan en ontdek hoe eenvoudig adresvalidatie en geocoding kunnen zijn.

postcodespc4pc6nederlandadressysteemdata-analysegeocoding
Delen:

Gerelateerde artikelen

Klaar om te beginnen met GeoRex?

Probeer onze geocoding API gratis en ontdek hoe eenvoudig adresverwerking kan zijn.

Cookie-instellingen

Wij gebruiken optionele analytische cookies om onze website te verbeteren. Deze cookies worden alleen geplaatst met uw expliciete toestemming. Meer informatie