Direct naar de inhoud
test-nummers.nl

Testdata generatorSamenhangende datasets met BSN, IBAN en adres

Complete fictieve testrecords: naam, geboortedatum, BSN, e-mail, telefoon, adres, IBAN en meer. Kies je kolommen, deel de seed met je team en exporteer tot 10.000 rijen naar CSV, Excel, JSON of SQL.

FictiefAlle gegenereerde gegevens zijn fictief en alleen bedoeld voor test- en ontwikkelomgevingen. Een willekeurig geldig nummer kan toevallig bestaan: gebruik het nooit als echt gegeven.

Rijen
Kolommen · 13 van 21
Persoon
Contact
Adres
Financieel
Overig

100 records

Fictiefvoorbeeld: eerste 25
Export
VolgnummerVoornaamTussenvoegselAchternaamGeboortedatumBSNE-mailTelefoonStraatHuisnummerPostcodePlaatsIBAN
1Marieke–Jansen1946-01-27804733077marieke.jansen@example.net0614728829Sportlaan1021344 BKAlmereNL72RABO0481618406
2Anne–Brouwer1978-10-15832309035anne.brouwer37@example.com0611693471Kerkstraat1715048 PNTilburgNL27FVLB0759760470
3MilavanVliet1986-09-06107182397mila.vanvliet@example.net0654349237Wilhelminastraat57326 XSApeldoornNL64ASNB0188501177
4Marieke–Kok1999-02-27109729201m.kok@example.com0649888564Kastanjelaan1006718 KLEdeNL43ASNB0838242766
5Jorisvan denBroek1995-05-25373788940jorisvandenbroek@example.org0612381575Kerkstraat95015 SPTilburgNL92ASNB0820651710
6Bramvan denBerg2000-01-10159107453bram.vandenberg41@example.com0645619009Groenstraat1731321 TGAlmereNL51ABNA0903381400
7Erikvan denBroek1950-12-19416531350erikvandenbroek@example.com0652737766Eikenlaan1093814 VRAmersfoortNL87RABO0300110863
8Mark–Smit1996-07-10406473055m.smit@example.net0650703459Schoolstraat886825 DTArnhemNL71TRIO0858348462
9Esthervan denBroek2001-10-31662796214esther.vandenbroek@example.com0650952042Hoofdstraat725627 BWEindhovenNL17RABO0854701184
10Evavan deVen1976-05-14123789692eva.vandeven90@example.com0618706352Schoolstraat1216530 STNijmegenNL02KNAB0809694565
11MarkvanWijk1977-04-30746808458mark.vanwijk@example.com0614531649Herenstraat992538 ZBDen HaagNL38SNSB0679315306
12Petervan denBroek1978-07-08758250083p.vandenbroek@example.org0652195465Bosweg221078 ZRAmsterdamNL16INGB0828717583
13Lotte–Jansen1993-07-30703345096lotte.jansen@example.org0656227541Kastanjelaan816824 ZWArnhemNL69INGB0609718274
14LindavanBeek1977-01-02999350468linda.vanbeek@example.com0620062634Vijverweg1482623 PTDelftNL22SNSB0154396117
15Femke–Koster1961-06-26496317027femkekoster@example.org0644524486Prins Hendrikstraat646713 TBEdeNL64SNSB0429811535
16EstherdeBoer1991-11-11285150984esther.deboer36@example.net0648326530Lindenlaan271507 AHZaandamNL96KNAB0143492411
17JorisdeLange1965-02-25358577081j.delange@example.org0634495662Schoolstraat1707331 HWApeldoornNL96INGB0380365847
18Noor–Hendriks1954-11-13207431395noor.hendriks@example.org0632459938Berkenlaan281315 XXAlmereNL50TRIO0369364953
19Lindavan derVeen1946-11-01638756674l.vanderveen@example.org0628271055Marktstraat163544 BBUtrechtNL21RABO0810893002
20Lars–Vos1961-09-27373703247larsvos@example.com0646774091Berkenlaan1156830 NJArnhemNL22ABNA0213441098
21Henk–Mulder1974-09-20318863972henkmulder@example.com0651270921Schoolstraat1643536 XGUtrechtNL81RABO0646821466
22Sophie–Kok1981-08-20583382307sophiekok@example.net0636558617Prins Hendrikstraat1293311 HTDordrechtNL71FVLB0666240523
23EmmavanLeeuwen1998-05-10350372482e.vanleeuwen@example.org0615074352Stationsweg1012628 XNDelftNL53TRIO0851372643
24Roos–Maas1980-04-25548618392roos.maas@example.net0655471433Prins Hendrikstraat954815 JSBredaNL80ASNB0583659780
25Mark–Bakker1954-06-08672791328mark.bakker54@example.net0620761696Schoolstraat116221 MNMaastrichtNL26BUNQ0183116488
Seed test-nummers · klik op een cel om te kopiëren

Wat zit er in een record?

Elke kolom volgt de regels van het echte gegeven. Het voorbeeld is de eerste rij van seed test-nummers.

KolomVoorbeeldRegel
Volgnummerid1Oplopend vanaf 1, handig als primaire sleutel
VoornaamvoornaamMariekeNederlandse voornaam, past bij het geslacht
Tussenvoegseltussenvoegsel(leeg)Apart veld, zoals in de BRP; vaak leeg
AchternaamachternaamJansenAchternaam zonder tussenvoegsel
Volledige naamvolledige_naamMarieke JansenVoornaam, tussenvoegsel en achternaam samen
Geslachtgeslachtvv of m
Geboortedatumgeboortedatum1946-01-27ISO 8601 (JJJJ-MM-DD), leeftijd 18 tot 80 jaar op 1 januari 2026
BSNbsn8047330779 cijfers die de elfproef doorstaan, uniek binnen de dataset
E-mailemailmarieke.jansen@example.netAfgeleid van de naam, alleen gereserveerde domeinen (RFC 2606), uniek
Telefoontelefoon0614728829Mobiel nummer in de reeksen 061 tot en met 065
StraatstraatSportlaanVeelvoorkomende Nederlandse straatnaam
Huisnummerhuisnummer1021 tot en met 180
Toevoegingtoevoeging(leeg)Soms een toevoeging (A, B, 1, hs, bis), meestal leeg
Postcodepostcode1344 BK1234 AB, nooit SA, SD of SS; past bij de plaats als records samenhangen
PlaatsplaatsAlmereEen van twintig grote gemeenten
IBANibanNL72RABO0481618406Nederlandse IBAN met geldige mod-97-controlecijfers
BICbicRABONL2UBIC van de bank uit de IBAN
KVK-nummerkvk320947418 cijfers, kan met 0 beginnen
Btw-idbtw_idNL776204106B08Btw-id van een eenmanszaak, mod 97 = 1
UUIDuuid140fee56-8771-4a16-a9d8-2e78a63856dcVersie 4 (RFC 9562)
KentekenkentekenXR-090-LSidecode 9, 10 of 11, alleen toegestane letters

Seed: dezelfde dataset op elke machine

Dezelfde seed, hetzelfde aantal rijen en dezelfde instelling voor samenhang geven altijd dezelfde rijen, in elke browser. Een dataset vastleggen in een testplan of bugmelding kan dus met één link: de knop Kopieer link naar deze dataset zet aantal, seed en kolommen in de URL. De data zelf staat niet in de link; die wordt bij openen opnieuw berekend.

Kolommen aan- of uitzetten verandert de andere waarden niet: een rij wordt altijd volledig gemaakt en pas daarna ingekort tot de kolommen die je kiest. En de voorbeeldtabel is precies het begin van de export. Wijzigt de generator zelf (bijvoorbeeld een langere namenlijst), dan kan een seed andere data geven. Dat staat dan in de changelog.

Samenhangend of los

Met Samenhangend aan is het e-mailadres afgeleid van de naam (marieke.jansen@example.net bij Marieke Jansen) en valt de postcode in de reeks van de plaats. Dat maakt demo's en handmatige tests geloofwaardig.

Zet het uit om te testen of je applicatie ook werkt als gegevens niet bij elkaar passen: een e-mailadres dat niet op de naam lijkt of een postcode uit een andere provincie. Alleen e-mail, postcode en plaats veranderen; de rest van de rij blijft gelijk.

Exportformaten

CSV
Komma als scheidingsteken, UTF-8, RFC 4180. Cellen die een spreadsheet als formule zou uitvoeren krijgen een apostrof ervoor.
Excel (.xlsx)
Kopregel met kolomnamen, alle cellen als tekst: voorloopnullen (zoals in KVK-nummers) en lange nummers blijven intact.
JSON
Een array van objecten met de kolomnamen als sleutels en alle waarden als string. Direct bruikbaar als fixture.
SQL
CREATE TABLE testdata plus INSERT-statements per 500 rijen. Werkt in PostgreSQL, MySQL, SQLite en SQL Server.

Liever plakken? Kopieer tabel zet alle rijen als tabel op het klembord, klaar voor Excel of Google Sheets. Inlezen met pandas? Gebruik pd.read_csv('testdataset.csv', dtype=str), anders verdwijnen voorloopnullen.

Als fixture in je tests

Exporteer als JSON en lees het bestand in je testcode. Met een vaste seed draait elke run met dezelfde personen.

registreren.spec.ts
import { test, expect } from '@playwright/test';
import personen from './fixtures/testdataset.json';

for (const p of personen.slice(0, 5)) {
  test(`registreren: ${p.voornaam} ${p.achternaam}`, async ({ page }) => {
    await page.goto('/registreren');
    await page.getByLabel('BSN').fill(p.bsn);
    await page.getByLabel('E-mail').fill(p.email);
    await page.getByLabel('Postcode').fill(p.postcode);
    await page.getByRole('button', { name: 'Verder' }).click();
    await expect(page.getByText('Controleer je gegevens')).toBeVisible();
  });
}

Waarvoor gebruik je een testdataset?

  • Test automation. Data-driven tests in Playwright, Cypress, Selenium of Robot Framework, met dezelfde data in elke run.
  • Database seeding. Een ontwikkel- of acceptatiedatabase vullen met de SQL-export, zonder productiedata te kopiëren.
  • Low-code. In Mendix of OutSystems de Excel-export inlezen met een Excel-importmodule om schermen en microflows te testen.
  • Demo en acceptatie. Schermen vullen met geloofwaardige, samenhangende maar verzonnen klanten.
  • Performancetests. Tot 10.000 unieke records per export als input voor load- en stresstests.

Testdata en de AVG

De records zijn niet afgeleid van echte personen, dus je hoeft geen productiedata naar een testomgeving te kopiëren. Losse waarden kunnen wel toevallig bestaan: een willekeurig BSN kan aan iemand zijn uitgegeven en veelvoorkomende namen bestaan echt. Gebruik de data daarom alleen in testomgevingen. Meer daarover in AVG en testomgevingen.

Veelgestelde vragen

Wat is een seed en waarom zou ik die gebruiken?

De seed is het startpunt van de toevalsgenerator. Dezelfde seed met hetzelfde aantal rijen geeft op elke computer precies dezelfde dataset. Zet de seed in je testplan, bugmelding of CI-configuratie en iedereen werkt met identieke testdata. Met "Kopieer link" deel je seed, kolommen en aantal in één URL. Kolommen aan- of uitzetten verandert de andere waarden niet.

Welke kolommen kan ik kiezen?

Volgnummer, voornaam, tussenvoegsel, achternaam, volledige naam, geslacht, geboortedatum, BSN, e-mail, telefoon, straat, huisnummer, toevoeging, postcode, plaats, IBAN, BIC, KVK-nummer, btw-id, UUID en kenteken. Standaard staan de meest gebruikte aan; met "Alles" zet je ze allemaal aan.

Horen postcode, plaats en e-mail bij elkaar?

Met "Samenhangend" aan wel: het e-mailadres is afgeleid van de naam en de postcode valt in de postcodereeks van de plaats. Het adres als geheel bestaat meestal niet; straat en huisnummer zijn niet op de echte postcode afgestemd. Zet samenhang uit als je juist wilt testen hoe je applicatie omgaat met gegevens die niet bij elkaar passen.

Naar welke formaten kan ik exporteren?

CSV (komma, UTF-8), Excel (.xlsx, alle cellen als tekst zodat voorloopnullen blijven staan), JSON (array van objecten) en SQL (CREATE TABLE plus INSERT-statements per 500 rijen voor PostgreSQL, MySQL, SQLite en SQL Server). Met "Kopieer tabel" plak je de rijen direct in Excel of Google Sheets.

Hoeveel rijen kan ik maken?

Tot 10.000 rijen per export. De voorbeeldtabel toont de eerste 25; de export bevat exact dezelfde rijen, aangevuld tot het gekozen aantal. Om misbruik te voorkomen geldt een limiet van 50.000 records per minuut, gedeeld met de andere generators.

Wordt de dataset opgeslagen of verstuurd?

Nee. Alles wordt in je browser berekend. In de adresbalk staan alleen je instellingen (aantal, seed, kolommen), niet de data zelf. De data bestaat pas als je exporteert of kopieert.

Kan een waarde uit de dataset van een echt persoon zijn?

Toevallig wel. Een BSN of IBAN dat de controle doorstaat kan bestaan, en veelvoorkomende namen bestaan echt. De combinatie is verzonnen. Gebruik de data alleen in test- en ontwikkelomgevingen en vul haar niet aan met echte persoonsgegevens.

Gerelateerde tools