1001Ferramentas
🇳🇱 Generators

Fake Dutch BSN Generator

Generate a valid Burgerservicenummer (BSN) Dutch citizen number (9 digits with 11-test) — for form testing only.

Aviso: BSN gerado é estruturalmente válido (passa 11-test), mas não está atribuído a nenhuma pessoa real. Use somente em ambiente de testes.

Dutch BSN: structure, elfproef and why private companies should rarely ask for it

The BSN (Burgerservicenummer, literally "Citizen Service Number") is the unique national identifier issued by the Dutch government to every resident of the Netherlands. It replaced the older SoFi nummer (Sofinummer) on 26 November 2007 as part of a wider e-government reform, and it now sits at the centre of almost every interaction a person has with the Dutch state — taxes, healthcare, schooling, employment, social security and digital identity through DigiD.

A BSN is a 9-digit number. It is issued at birth by the municipality (gemeente) and registered in the BRP (Basisregistratie Personen), the Dutch personal records database. Foreigners receive a BSN when they register at a municipality after immigration, typically within a few weeks. Residents of the Caribbean Netherlands (Bonaire, Sint Eustatius and Saba) use a separate variant called the BES BSN.

The 11-test (elfproef)

A valid BSN passes the elfproef, a weighted checksum that has been used by Dutch banks for account numbers since the 1970s. Each of the nine digits is multiplied by a weight, the results are summed, and the total must be divisible by 11:

digit positions   1  2  3  4  5  6  7  8  9
weights          9  8  7  6  5  4  3  2  -1
sum = d1*9 + d2*8 + d3*7 + d4*6 + d5*5 + d6*4 + d7*3 + d8*2 - d9
valid BSN: sum mod 11 === 0

The negative weight on the last digit is what distinguishes the BSN elfproef from the classic bank account elfproef. Because the check is performed locally on a 9-digit string, BSN validation is trivial to embed in any application and catches roughly 90% of accidental typos.

Where the BSN is actually used

  • Tax (Belastingdienst): income tax (inkomstenbelasting), VAT (BTW) for sole traders, payroll tax (loonbelasting).
  • Healthcare: mandatory under the Zorgverzekeringswet — every GP visit, prescription and hospital admission references the BSN.
  • Employment: employers report wages to the Belastingdienst using the BSN; UWV uses it for unemployment benefits.
  • Education: DUO uses BSN for student finance and exam registration.
  • Government online services: DigiD (the national e-ID) is bound to a BSN.

Privacy and the AVG

The BSN is treated as highly sensitive personal data under the AVG (the Dutch implementation of the GDPR). Article 46 of the AVG-UAVG forbids organisations from using the BSN unless explicitly authorised by law. Private companies — gyms, landlords, employers before hire — are generally not allowed to request it. The Autoriteit Persoonsgegevens (Dutch DPA) regularly fines organisations five-figure amounts (10,000 EUR and up) for unnecessary BSN collection.

In comparison with the Brazilian CPF, the BSN encodes no personal information (no birth date, gender or region) but is far more strictly regulated. CPF is freely written on receipts, loyalty cards and contracts; doing the same with a BSN would attract a fine.

Synthetic BSN for development and testing

Because real BSNs cannot be used in development environments (it would breach the AVG even if the data is internal), Dutch software teams generate mock BSNs that pass the elfproef but are not bound to any citizen. This generator produces exactly that — useful for seeding test databases, validating import pipelines, or building a sandbox client for the Belastingdienst's developer APIs. EU equivalents include the German Steuer-ID, the French NIR, the Spanish NIE/DNI and Italy's Codice Fiscale; together they make up the TIN (Tax Identification Number) ecosystem exchanged automatically under DAC2.

Frequently asked questions

Can I use these BSNs in a production system? No. They are structurally valid (pass the elfproef) but not registered in the BRP. Submitting them to the Belastingdienst or to a healthcare insurer will fail at the second validation step and may be logged as suspicious activity.

How do I test integrations with Dutch government APIs? Use the official sandbox environments — Logius offers DigiD test accounts, and the Belastingdienst provides BSN test ranges that look real but are reserved. Mock BSNs from generators like this one are intended for unit tests and seeding databases, not for end-to-end sandbox testing.

How does BSN differ from the Brazilian CPF? Both are 9 or 11 digit national IDs with a checksum. The differences are legal, not technical: CPF is requested everywhere and almost never enforced, BSN is restricted by law to authorised use cases and the Dutch DPA actively enforces this. A foreign developer building a fintech for the Dutch market needs to design forms that avoid asking for the BSN whenever possible.

Does the BSN encode the holder's birth date or gender? No. Unlike the Italian Codice Fiscale, the BSN is an opaque sequential identifier with a checksum. The only information leaked by the number itself is approximately when it was issued (older BSNs start with smaller digits).

Related Tools