BSN Validator - Burgerservicenummer controleren met elfproef
Voer een BSN nummer in en controleer direct of het voldoet aan de elfproef. Volledig client-side — geen data wordt opgeslagen.
Let op:alle gegenereerde gegevens zijn volledig fictief en mogen niet worden gebruikt als echte persoonsgegevens.
Hoe werkt BSN-validatie in de browser?
Deze validator draait volledig client-side: je BSN verlaat nooit je browser. Het elfproef-algoritme vermenigvuldigt elk cijfer met een gewicht (9, 8, 7, 6, 5, 4, 3, 2, -1 van links naar rechts) en sommeert de producten. De som moet deelbaar zijn door 11 en mag niet 0 zijn. Bij een 8-cijferig BSN plakt de validator automatisch een voorloopnul toe.
- Neem een 9-cijferig BSN (bij 8 cijfers een 0 ervoor plaatsen).
- Vermenigvuldig elk cijfer met het bijbehorende gewicht: 9, 8, 7, 6, 5, 4, 3, 2, -1.
- Tel alle producten bij elkaar op.
- De som moet deelbaar zijn door 11 en mag niet 0 zijn.
Voorbeeld: BSN 111222333: (1×9) + (1×8) + (1×7) + (2×6) + (2×5) + (2×4) + (3×3) + (3×2) + (3×-1) = 66. 66 / 11 = 6 → geldig.
Voor een uitgebreide uitleg van de wiskunde, historische context en alternatieve checksum-algoritmes, zie de kennisbank-pagina over de elfproef.
Voorbeelden: geldig en ongeldig BSN
Onderstaande tabel bevat drie geldige en drie ongeldige fictieve BSN nummers. Alle nummers zijn niet-toegekend en uitsluitend bedoeld voor testdoeleinden.
| BSN | Som | Resultaat | Reden |
|---|---|---|---|
| 111222333 | 66 | Geldig | 66 ÷ 11 = 6, niet 0 |
| 123456782 | 154 | Geldig | 154 ÷ 11 = 14 |
| 100000083 | 22 | Geldig | 22 ÷ 11 = 2 |
| 000000000 | 0 | Ongeldig | Som is 0 |
| 123456789 | 161 | Ongeldig | 161 niet deelbaar door 11 |
| 12345678 | — | Ongeldig | Te kort (minder dan 8 cijfers na voorloopnul-check) |
Veelvoorkomende validatiefouten
De meeste “ongeldig”-meldingen komen niet door een fout in de elfproef, maar door invoerproblemen. Controleer de volgende punten voordat je concludeert dat een nummer echt ongeldig is.
- Voorloopnul ontbreekt — bij BSNs onder 100.000.000 valt de leidende nul vaak weg in Excel of CSV exports. Het nummer wordt dan als 8-cijferig gelezen. De validator plakt automatisch een 0 aan de voorkant.
- Niet-numerieke tekens — spaties, streepjes, punten of letters maken het nummer ongeldig. Strip deze tekens voor je valideert (
replace(/[^0-9]/g, '')). - Verwisseling 8- en 9-cijferig— oudere systemen slaan BSNs soms op als 8 cijfers (zonder voorloopnul). Moderne APIs verwachten altijd 9 cijfers. Normaliseer op 9 cijfers voordat je persisteert.
- Unicode-spaties— non-breaking spaces (U+00A0) uit PDFs of Word-documenten worden niet door een gewone
trim()verwijderd. Gebruik een strikte numeriek-filter.