International · Validation
Dutch BSN validator (elfproef).
Check a Dutch burgerservicenummer (BSN) against its elfproef checksum. This tests the format and arithmetic only; it cannot tell you whether the number was issued or belongs to anyone.
How it works: write the BSN as 9 digits ABCDEFGHI (an 8-digit number gets a leading zero). Compute 9×A + 8×B + 7×C + 6×D + 5×E + 4×F + 3×G + 2×H − 1×I. The result must be a multiple of 11 (the elfproef), and the number cannot be all zeros.
Inputs
Result
Enter a BSN and press Check.
What the elfproef is
The BSN (burgerservicenummer) is the Dutch citizen service number, 9 digits long; leading zeros are commonly omitted, so 8-digit forms exist. Its checksum is a variant of the elfproef (“eleven test”): each digit is multiplied by a weight, the products are added, and the total must divide evenly by 11.
| Digit | A | B | C | D | E | F | G | H | I |
|---|---|---|---|---|---|---|---|---|---|
| Weight | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | −1 |
The difference from the plain elfproef used for old bank account numbers is the last digit, which is multiplied by −1 instead of 1. Wikipedia notes this was deliberate, so that a bank account number typed into a BSN field is rejected. The published valid examples are 111222333 (9×1 + 8×1 + 7×1 + 6×2 + 5×2 + 4×2 + 3×3 + 2×3 − 3 = 55 = 5×11) and 123456782. The reference implementation python-stdnum applies the same weights, pads short numbers with zeros to 9 digits, and rejects an all-zero number.
Sources: nl.wikipedia.org/wiki/Burgerservicenummer (section 11-proef) and python-stdnum, stdnum/nl/bsn.py. The two agree.
Format and checksum only — not a registry lookup
A pass means the digits satisfy the elfproef. Roughly one in eleven random 9-digit strings passes, so it says nothing about whether the number was issued or belongs to a real person; only the Dutch municipal personal records database (BRP) can confirm that. Well-known example and test BSNs pass the checksum by design and are for testing only.
Format and checksum only — not a registry lookup
This tool runs entirely in your browser. It does not query any Dutch government system and cannot confirm that a BSN was issued or belongs to anyone. Nothing you type is transmitted, stored, or logged. Do not paste real people's BSNs you have no reason to hold.