Direct naar de inhoud
test-nummers.nl

Postcode ValidatorPostcode en huisnummer controleren op formaat

Controleer of een postcode het Nederlandse formaat heeft (1234 AB) en of huisnummer, huisletter en toevoeging voldoen aan de regels van de BAG. Plak een lijst om duizenden adressen tegelijk te controleren. Of een adres echt bestaat, controleert deze tool niet.

FictiefAlle gegenereerde gegevens zijn fictief en alleen bedoeld voor test- en ontwikkelomgevingen. Een willekeurig geldig nummer kan toevallig bestaan: gebruik het nooit als echt gegeven.

PostcodeGeldig formaatVier cijfers van 1000 tot en met 9999 en twee letters, geen SA, SD of SS.
HuisnummerGeldig formaatHuisnummer 12, huisletter A en toevoeging 1.

Genormaliseerd: spatie toegevoegd, kleine letters omgezet.

Probeer

Wat de validator controleert

Eerst normaliseert de validator de invoer: spaties rondom en harde spaties (U+00A0) gaan eruit, een streepje tussen cijfers en letters wordt een spatie en kleine letters worden hoofdletters. Daarna volgen de regels:

  • 4 cijfers en 2 letters, geschreven als 1234 AB. Zo staat het in de Catalogus BAG en in de uitleg van PostNL.
  • 1000 tot en met 9999. De reeks 0001–0999 is volgens een addendum bij het postcodeconvenant (Staatscourant 2025, 13802) bestemd voor Caribisch Nederland; PostNL gebruikt die niet in het Europese deel. Daarvoor krijg je een waarschuwing.
  • Geen SA, SD of SS.Die lettercombinaties worden niet gebruikt; in de BAG staat geen enkel adres met zo'n postcode.
  • F, I, O, Q, U en Y werden bij de invoering niet uitgegeven. In september 2026 kwamen we ze bij geen enkel adres in de BAG tegen (gecontroleerd via de PDOK Locatieserver): waarschuwing, geen fout.
  • Testpostcodes. PostNL adviseert voor tests 4 cijfers met als laatste cijfer 0 en de letters OO of II, zoals 1230 OO. Die horen bij geen bestaand adres; de validator herkent ze.
  • Huisnummer (optioneel): een getal van 1 tot en met 99999, een huisletter van één letter en een toevoeging van hoogstens 4 letters en/of cijfers, zoals in de BAG. Een streepje of slash lezen we als scheiding: 12A-1 is huisnummer 12, huisletter A en toevoeging 1.
InvoerOordeelToelichting
1234 ABGeldig formaatVier cijfers van 1000 tot en met 9999 en twee letters, geen SA, SD of SS.
1234abGeldig formaatWordt 1234 AB (spatie toegevoegd, kleine letters omgezet).
1234 SSOngeldigDe lettercombinaties SA, SD en SS worden in postcodes niet gebruikt.
12345 ABOngeldigEen postcode heeft 4 cijfers; dit zijn er 5.
0123 ABLet opPostcodes die met 0 beginnen (0001 tot en met 0999) zijn bestemd voor Caribisch Nederland. In Europees Nederland lopen postcodes van 1000 tot en met 9999.
1230 OOTestpostcodeTestpostcode volgens het advies van PostNL: laatste cijfer 0 en de letters OO of II. Zo'n postcode hoort bij geen bestaand adres.
1234 QALet opHet formaat klopt, maar de letter Q komt in postcodes van adressen in de BAG niet voor. Controleer de invoer.

Formaat klopt, maar bestaat het adres?

Dat kan deze tool niet zien, en een regex ook niet. Of een postcode met huisnummer echt bestaat, staat in de Basisregistratie Adressen en Gebouwen (BAG). Gemeenten houden de adressen bij; het Kadaster stelt de BAG landelijk beschikbaar. Voor adresvalidatie in Nederland heb je drie gangbare routes:

  • PDOK Locatieserver: een gratis zoekservice op BAG-data, zonder API-key. Geeft de query hieronder numFound: 0, dan staat deze combinatie van postcode en huisnummer niet in de BAG.
  • BAG API Individuele Bevragingen van het Kadaster: gratis, met een API-key, bijvoorbeeld om op postcode en huisnummer te zoeken.
  • PostNL: de postcodetabel (als bestand, met wekelijkse of maandelijkse updates) en de Adrescheck-API.
PDOK Locatieserver
GET https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?fq=type:adres&fq=postcode:1234AB&fq=huisnummer:12

Postcode zonder spatie; huisletter en toevoeging zijn aparte velden (huisletter en huisnummertoevoeging). Wil je de foutafhandeling voor “niet gevonden” testen, gebruik dan een PostNL-testpostcode zoals 1230 OO: die hoort bij geen bestaand adres. Postcodes uit de postcode generator zijn willekeurig en kunnen wel bestaan.

Postcode valideren in TypeScript

export function normalizePostcode(input: string): string | null {
  // 4 cijfers (1000–9999), eventueel spaties, een harde spatie of een streepje, dan 2 letters.
  const m = /^([1-9][0-9]{3})[\s-]*([A-Za-z]{2})$/.exec(input.trim());
  if (!m) return null;
  const letters = m[2].toUpperCase();
  // SA, SD en SS worden in postcodes niet gebruikt.
  if (['SA', 'SD', 'SS'].includes(letters)) return null;
  return m[1] + ' ' + letters;
}

Dezelfde regels als de tool, zonder de waarschuwingen. Voor Python, PHP, Go en C# staat de regex in het artikel over de Nederlandse postcode-regex; hoe je huisnummer en toevoeging splitst, lees je in postcode en huisnummer parsen.

Veelgestelde vragen

Controleert deze tool of een adres bestaat?

Nee. De validator controleert alleen het formaat: 4 cijfers en 2 letters, de cijferreeks, de uitgesloten lettercombinaties en de opbouw van huisnummer, huisletter en toevoeging. Of een postcode met huisnummer bestaat, staat in de Basisregistratie Adressen en Gebouwen (BAG). Die bevraag je gratis via de PDOK Locatieserver, of met een API-key via de BAG API Individuele Bevragingen van het Kadaster. PostNL biedt daarnaast de postcodetabel en de Adrescheck-API.

Waarom keurt de validator 1234 SS af?

De lettercombinaties SA, SD en SS worden in Nederlandse postcodes niet gebruikt, vanwege de associatie met de SA, SD en SS uit de bezettingstijd. In de BAG staat geen enkel adres met zo'n postcode. Invoer met SA, SD of SS is dus een tikfout of een verzonnen postcode.

Mogen de letters F, I, O, Q, U en Y in een postcode voorkomen?

Bij de invoering van de postcode werden deze letters niet uitgegeven, en in september 2026 kwamen we ze bij geen enkel adres in de BAG tegen (gecontroleerd via de PDOK Locatieserver). De validator geeft daarom een waarschuwing, geen fout. Wijs ze in je eigen formulier liever niet hard af: de Catalogus BAG legt alleen vast dat een postcode uit 4 cijfers en 2 letters bestaat.

Wat doet de validator met een postcode die met 0 begint?

In Europees Nederland lopen postcodes van 1000 tot en met 9999. De reeks 0001 tot en met 0999 heeft PostNL beschikbaar gesteld voor Caribisch Nederland (Bonaire, Sint Eustatius en Saba) en gebruikt hij niet in het Europese deel (Staatscourant 2025, 13802). Daarom krijg je bij zo'n postcode een waarschuwing en geen fout. 0000 keurt de validator af.

Welke postcode gebruik ik als testpostcode?

PostNL adviseert een combinatie van 4 cijfers met als laatste cijfer een 0 en de letters OO of II, zoals 1230 OO of 5670 II. Zulke postcodes horen niet bij een bestaand adres. RvIG noemt dit advies bij de testbestanden voor de Beheervoorziening BSN. De validator herkent zo'n testpostcode en meldt dat.

Hoe splits ik huisnummer, huisletter en toevoeging?

De BAG kent drie velden: een huisnummer van 1 tot en met 99999, een huisletter (één letter, hoofd- of kleine letter) en een huisnummertoevoeging van hoogstens 4 letters en/of cijfers. Streepjes en slashes horen daar niet bij: in 12A-1 is 12 het huisnummer, A de huisletter en 1 de toevoeging. Sla de drie velden apart op, dan kun je ze één op één met de BAG vergelijken.

Worden de adressen die ik invoer opgeslagen?

Nee. De controle draait in je browser; er gaat niets naar een server. Ook de export van een lijst maakt je browser zelf aan.

Gerelateerde tools