Dutch BSN Validator

Validator

Validate a Dutch BSN (Burgerservicenummer) instantly using the 11-proef (eleven-test) checksum. Accepts 8-digit or 9-digit input. Free, runs in your browser.

Enter BSN
Validation Result
Enter a BSN above to validate

Looking for Germany's equivalent?

BSN is the Dutch national ID number. Germany's equivalent — the Steuer-ID — has its own check-digit algorithm. Try our Steuer-ID Validator →

About this tool

About Dutch BSN Validator

The Dutch BSN (Burgerservicenummer) is a 9-digit citizen service number checked with the 11-proef (eleven-test): weights 9 through 2 on the first 8 digits, and a weight of -1 (instead of +1) on the last digit — a deliberate variation from the plain elfproef used for bank accounts, so a bank account number can't be mistaken for a BSN.

Paste an 8-digit or 9-digit BSN (8-digit input is automatically left-padded with a zero) and the tool recomputes the weighted sum and confirms it's a multiple of 11, showing the sum so you can see the arithmetic yourself.

Use this to check a BSN collected on a Dutch-facing form (tax registration, healthcare enrollment, employment onboarding) before storing it, or to debug a validation library implementing the 11-proef.

Instant, fully client-side validation — no BSN ever leaves your browser. Correctly handles the historical 8-digit format via automatic zero-padding.

Key Features

  • Verifies the 11-proef (eleven-test) checksum
  • Accepts 8-digit input and left-pads it automatically
  • Shows the weighted sum for transparency
  • Rejects the all-zero number even though it mathematically passes
  • 100% browser-based, no data sent

FAQ

Dutch BSN Validator — Frequently Asked Questions

What is the 11-proef?

It's the Dutch eleven-test: multiply each of the 9 digits by a fixed weight (9, 8, 7, 6, 5, 4, 3, 2, and -1 for the last digit), sum the results, and the BSN is valid only if that sum is an exact multiple of 11.

Why is the last digit's weight -1 instead of +1?

The plain elfproef (used for Dutch bank account numbers) weights every digit positively. BSN deliberately flips the sign on the last digit's weight specifically so that a valid bank account number can't accidentally also be a valid BSN, and vice versa.

Why does it accept 8-digit input?

Older BSNs (and the related sofinummer they replaced) were sometimes written or stored without a leading zero. This validator left-pads an 8-digit input with a zero before checking it, matching how the number is actually used.

Does a valid BSN mean the number belongs to a real person?

No. This is a mathematical structure check only. A number can pass the 11-proef without being currently issued to anyone — confirming real registration status requires access to the Dutch government's own BRP records, which this site cannot query.

Tips

  • Spaces, dots, and hyphens are stripped automatically before validation
  • 8-digit input is automatically left-padded with a zero
  • 000000000 is rejected even though it mathematically satisfies the 11-proef
  • Use the BSN Generator on this site to create valid test numbers

Explore more

Related Tools

Other tools that might be useful for your workflow