Stel tot 100 kolommen in, kies voor elke kolom een soort gegevens, en geef een aantal rijen (1 tot 1.000.000) en een seed op. Dezelfde seed en kolominstellingen geven altijd dezelfde rijen, in elke browser. Je kunt een testbestand dus opnieuw maken in plaats van het te bewaren. Namen, e-mailadressen en telefoonnummers zijn verzonnen: e-mailadressen eindigen op @example.test, Engelstalige telefoonnummers vallen in de reeks 555. Het genereren gebeurt in je browser; er wordt niets geüpload.
Zo maak je een CSV-bestand
- Stel het aantal rijen in (1 tot 1.000.000) en een seed. De startopzet heeft zes kolommen: een oplopende
id, een volledige naam, een e-mailadres, een aanmelddatum in 2024–2025, een abonnement dat in de verhouding 6:3:1 wordt gekozen uit Free, Pro of Team, en een bedrag van 0 tot 500 met twee decimalen. - Voeg kolommen toe, verwijder of hernoem ze, en kies voor elke kolom een soort gegevens. Elke kolomnaam moet ingevuld en uniek zijn.
- Stel desgewenst per kolom een aandeel lege cellen in of eis unieke waarden. Genereer daarna het bestand en download het.
De rijen worden in delen in een achtergrondproces geschreven, niet als één enorme tekenreeks. Een bestand van een miljoen rijen laat de pagina dus niet vastlopen, en met annuleren stopt de taak. Eén uitvoerbestand is maximaal 4 GB.
Soorten gegevens
| Volgnummer | Telt vanaf een beginwaarde (standaard 1) met een stap (standaard 1). Met een optionele breedte krijg je nummers als 000001; negatieve getallen worden nooit aangevuld. |
|---|---|
| UUID | Opbouw van versie 4 uit RFC 9562 (xxxxxxxx-xxxx-4xxx-[89ab]xxx-…), getrokken uit de generator met seed. Reproduceerbaar, dus niet geschikt als geheim of beveiligingstoken. |
| Voornaam, achternaam, volledige naam | Veelvoorkomende namen voor de taal van de interface. Chinese, Japanse en Koreaanse volledige namen staan met de familienaam vooraan en zonder spatie. |
name.word<row>@example.test, bijvoorbeeld casey.maple1@example.test. Door het rijnummer is elk adres uniek. Het adres wordt niet afgeleid van de kolom met namen. | |
| Telefoonnummer | Een patroon waarin elke # een cijfer wordt. Laat het leeg voor de standaard van de taal: in het Engels is dat +1 555-###-####, in het Nederlands +31 20 ### ####. |
| Bedrijf, plaats, land | Verzonnen bedrijfsnamen en echte plaatsnamen voor de taal van de interface; het land wordt gekozen uit een vaste lijst van 20. |
| Geheel getal | Een geheel getal tussen het minimum en het maximum, die er allebei bij horen. Beide grenzen zijn verplicht en moeten binnen ±9.007.199.254.740.991 blijven: de grootste gehele getallen die JavaScript exact opslaat. |
| Decimaal getal | Een getal tussen het minimum en het maximum met 0 tot 10 decimalen, bijvoorbeeld 114.71. |
| true / false | true of false, met gelijke kans. |
| Datum, datum en tijd | Een willekeurige dag tussen twee datums in de vorm YYYY-MM-DD, die er allebei bij horen. ‘Datum en tijd’ voegt een willekeurige UTC-tijd toe: 2026-01-04T09:17:35Z. |
| Een van een lijst | Eén waarde per regel, eventueel met een gewicht na een dubbele punt: Free:6, Pro:3, Team:1 kiest ongeveer 60% van de keren Free. Regels zonder gewicht tellen als 1. |
| Patroon | Een sjabloon waarin # een cijfer is, ? een hoofdletter en * een cijfer of hoofdletter: SKU-####-?? geeft SKU-6836-LU. Alle andere tekens worden overgenomen. |
| Woorden | 1 tot 20 woorden (standaard 3) uit een vaste lijst van 20 eenvoudige Engelse woorden, als opvultekst. |
| Vaste waarde | Dezelfde tekst in elke rij. |
Seeds en reproduceerbaarheid
De seed mag elke tekst zijn. Elke kolom trekt uit een eigen willekeurige reeks die is afgeleid van de seed en de kolomnaam. Daardoor geldt:
- dezelfde seed, hetzelfde aantal rijen en dezelfde kolominstellingen geven elke keer en in elke browser een byte voor byte identiek bestand;
- andere kolommen toevoegen, verwijderen of verplaatsen verandert de waarden van een kolom niet, maar een kolom hernoemen wel;
- vraag je meer rijen, dan blijven de eerdere rijen gelijk en komen er nieuwe bij;
- de taal van de interface verandert namen, plaatsen, bedrijven en de standaardnotatie van telefoonnummers, maar geen getallen, datums, keuzes of e-mailadressen.
Lege cellen gebruiken een aparte reeks. Een lege cel verbruikt geen waarde. Verander je het percentage lege cellen, dan schuift dus op welke waarden in de latere rijen van die kolom terechtkomen.
Lege cellen en unieke waarden
Lege cellen is een percentage van 0 tot 100 per kolom: elke cel blijft met die kans leeg. Zo test je hoe een import omgaat met ontbrekende waarden.
Bij unieke waarden wordt een waarde opnieuw getrokken tot hij nog niet in die kolom voorkomt. Na 1.000 pogingen stopt het met een foutmelding die de kolom noemt. Instellingen waarbij uniek zijn onmogelijk is, worden vooraf geweigerd: een bereik van gehele getallen met minder getallen dan rijen, of minder keuzes dan rijen. Andere soorten kunnen halverwege alsnog opraken, bijvoorbeeld een unieke volledige naam na ongeveer 144 rijen in het Engels (12 voornamen × 12 achternamen). Kolommen met een volgnummer, UUID of vaste waarde slaan de controle over, en lege cellen tellen niet als waarde.
Fouten in de instellingen
- Het aantal rijen moet een geheel getal van 1 tot 1.000.000 zijn, en er moeten 1 tot 100 kolommen zijn.
- Een kolomnaam is leeg of komt twee keer voor: elke kolomnaam moet ingevuld en verschillend zijn.
- Kolommen met gehele of decimale getallen hebben zowel een minimum als een maximum nodig, waarbij het minimum niet boven het maximum ligt.
- Datumbereiken schrijf je als
YYYY-MM-DD, zoals2024-01-01;2024/01/01of01/02/2024wordt geweigerd. - Een patroon moet minstens één
#,?of*bevatten; gebruik anders een kolom met een vaste waarde. - Een keuzelijst heeft minstens één waarde nodig met een gewicht boven nul.
Voorbeeld
Vijf rijen met de seed demo-2026: een volgnummer vanaf 1001, aangevuld tot 6 cijfers, een volledige naam, een e-mailadres, een gewogen keuze, een decimaal getal van 0 tot 250 met 40% lege cellen, en het patroon SKU-####-??. Draai je het opnieuw met dezelfde instellingen, dan krijg je precies deze rijen. Regeleinden zie je hier als gewone nieuwe regels.
rows: 5 seed: demo-2026 language: English customer_id sequence start 1001, width 6 name full name email email plan choice Free:6 / Pro:3 / Team:1 mrr decimal 0–250, 2 places, 40% blank sku pattern SKU-####-??
customer_id,name,email,plan,mrr,sku 001001,Mary Brown,casey.maple1@example.test,Free,,SKU-6836-LU 001002,Ethan Davis,taylor.copper2@example.test,Pro,,SKU-8060-HR 001003,Ethan Clark,morgan.falcon3@example.test,Team,114.71,SKU-1401-TZ 001004,Olivia Davis,jordan.harbor4@example.test,Pro,91.82,SKU-8840-PT 001005,Mia Taylor,casey.prism5@example.test,Free,6.99,SKU-6878-OZ
Vragen en antwoorden
Kan ik de gegenereerde gegevens veilig delen?
Er staan geen echte personen in: namen zijn willekeurige combinaties van gangbare namen, e-mailadressen gebruiken het gereserveerde domein .test (RFC 2606) en Engelstalige telefoonnummers gebruiken 555. De plaatsnamen zijn wel echte plaatsen.
Krijgt een collega hetzelfde bestand?
Ja, als die dezelfde seed, hetzelfde aantal rijen, dezelfde interfacetaal en dezelfde kolominstellingen gebruikt, inclusief de kolomnamen. De generator gebruikt een eigen algoritme met seed, niet de willekeurige getallen van de browser.
Heb ik een groot bestand nodig of een klein testbestand?
Wil je een paar beschreven rijen met bekende valkuilen, gebruik dan de voorbeeld-CSV-bestanden. Kies de generator als je volume nodig hebt, je eigen kolomnamen of een bepaalde mix van soorten gegevens.