Dutch BSN Generator
GeneratorGenerate a checksum-valid Dutch BSN (Burgerservicenummer) for testing. Computes the correct 11-proef (eleven-test) check digit so the result passes this site's own BSN validator. For testing purposes only.
About this tool
About Dutch BSN Generator
This generator produces a Dutch BSN (Burgerservicenummer) with a correctly computed 11-proef (eleven-test) check digit — the same variant of the Modulo-11 check used for real BSNs, where the last digit's weight is -1 instead of +1.
The generator fills in 8 random digits, then solves for the 9th digit so the full weighted sum is a multiple of 11, retrying with a new random base on the rare combination that has no solution, so the result always passes this site's own BSN validator.
Ideal for testing Dutch-facing forms, DigiD-style onboarding flows, or any validation library that needs a realistic, checksum-valid BSN without using a real citizen's number.
Runs entirely in your browser, nothing is sent anywhere. The 11-proef variant used here (weight -1 on the last digit) is deliberately different from the plain elfproef used for Dutch bank accounts, which this generator gets right.
Key Features
- Correct 11-proef (eleven-test) check digit every time
- Uses the BSN-specific weight variant (-1 on the last digit)
- Instant copy to clipboard
- 100% browser-based, no data sent
- For testing purposes only
FAQ
Dutch BSN Generator — Frequently Asked Questions
How does the generator compute a valid check digit?
It picks 8 random digits, then solves for the 9th digit so that the full weighted sum (weights 9, 8, 7, 6, 5, 4, 3, 2, and -1 on the last digit) comes out to a multiple of 11 — the 11-proef rule real BSNs follow.
Is this a real BSN?
No. All 9 digits are randomly generated (with the last one solved to satisfy the checksum), so the result is not assigned to any real person in the Netherlands' Basisregistratie Personen.
Why does the last digit get special treatment?
The Dutch 11-proef variant used for BSN deliberately weights the last digit by -1 instead of +1, which is the standard elfproef weight. This is intentional — it stops a valid Dutch bank account number from also happening to be a valid BSN.
Tips
- Click Generate again for a fresh number — there's no configuration needed
- Pair with the Dutch BSN Validator on this site to see the same checksum verified back
- These numbers are for testing only — they are not real BRP-issued BSNs
Explore more
Related Tools
Other tools that might be useful for your workflow