Definisci fino a 100 colonne, scegli il tipo di dati di ognuna, imposta un numero di righe da 1 a 1.000.000 e un seed. Con lo stesso seed e le stesse impostazioni delle colonne ottieni sempre le stesse righe, in qualsiasi browser: un file di test si può ricreare invece di archiviarlo. Nomi, email e numeri di telefono sono fittizi: le email finiscono con @example.test e i numeri di telefono inglesi usano la serie 555. La generazione avviene nel tuo browser e non viene caricato nulla.
Come generare un file CSV
- Imposta il numero di righe (da 1 a 1.000.000) e un seed. La configurazione iniziale ha sei colonne: un
idprogressivo, nome e cognome, un’email, una data di iscrizione nel 2024–2025, un piano scelto tra Free, Pro e Team in proporzione 6:3:1 e un importo da 0 a 500 con due decimali. - Aggiungi, elimina o rinomina le colonne e scegli per ognuna il tipo di dati. Ogni nome di colonna deve essere compilato e diverso dagli altri.
- Se vuoi, imposta una quota di celle vuote o chiedi valori univoci in una colonna, poi genera e scarica il file.
Le righe vengono scritte da un worker in background, a blocchi e non come un’unica stringa enorme: così un file da un milione di righe non blocca la pagina, e se annulli il lavoro si ferma. Un singolo file generato può arrivare al massimo a 4 GB.
Tipi di dati
| Numero progressivo | Conta da un valore iniziale (predefinito 1) con un incremento (predefinito 1). Una larghezza facoltativa con zeri iniziali produce codici come 000001; i numeri negativi non vengono mai completati con zeri. |
|---|---|
| UUID | Struttura della versione 4 secondo la RFC 9562 (xxxxxxxx-xxxx-4xxx-[89ab]xxx-…), ricavata dal generatore con seed. Essendo riproducibile, non va usata come segreto o token di sicurezza. |
| Nome, cognome, nome e cognome | Nomi comuni per la lingua dell’interfaccia. In cinese, giapponese e coreano il nome completo si scrive con il cognome prima e senza spazio. |
name.word<row>@example.test, per esempio casey.maple1@example.test. Il numero di riga rende ogni indirizzo univoco. L’indirizzo non deriva dalla colonna del nome. | |
| Numero di telefono | Un modello in cui ogni # diventa una cifra. Lascialo vuoto per usare il formato predefinito della lingua: in inglese è +1 555-###-####, in italiano +39 06 ########. |
| Azienda, città, paese | Nomi di aziende inventati e nomi di città reali per la lingua dell’interfaccia; il paese viene scelto da un elenco fisso di 20. |
| Numero intero | Un numero intero tra il minimo e il massimo, entrambi inclusi. Servono tutti e due i limiti, che devono restare entro ±9.007.199.254.740.991, i numeri interi più grandi che JavaScript rappresenta in modo esatto. |
| Numero decimale | Un numero tra il minimo e il massimo con da 0 a 10 cifre decimali, per esempio 114.71 (con il punto come separatore). |
| true / false | true o false con la stessa probabilità. |
| Data, data e ora | Un giorno a caso tra due date YYYY-MM-DD, entrambe incluse. Data e ora aggiunge un orario UTC casuale: 2026-01-04T09:17:35Z. |
| Uno da un elenco | Un valore per riga, con un peso facoltativo dopo i due punti: con Free:6, Pro:3, Team:1 esce Free circa il 60% delle volte. Le righe senza peso valgono 1. |
| Modello | Uno schema in cui # è una cifra, ? una lettera maiuscola e * una cifra o una lettera maiuscola: SKU-####-?? produce SKU-6836-LU. Tutti gli altri caratteri vengono copiati così come sono. |
| Parole | Da 1 a 20 parole (predefinite 3) prese da un elenco fisso di 20 semplici parole inglesi, come testo di riempimento. |
| Valore fisso | Lo stesso testo in ogni riga. |
Seed e riproducibilità
Il seed può essere un testo qualsiasi. Ogni colonna attinge a un proprio flusso casuale, ricavato dal seed e dal nome della colonna, quindi:
- con lo stesso seed, lo stesso numero di righe e le stesse impostazioni delle colonne ottieni ogni volta un file identico byte per byte, in qualsiasi browser;
- aggiungere, eliminare o riordinare altre colonne non cambia i valori di una colonna, mentre rinominarla sì;
- se chiedi più righe, quelle precedenti restano invariate e le nuove vengono aggiunte in fondo;
- la lingua dell’interfaccia cambia nomi, città, aziende e formato predefinito del telefono, ma non numeri, date, opzioni o email.
Le celle vuote usano un flusso separato. Una cella vuota non consuma un valore, quindi se cambi la percentuale di celle vuote cambiano anche i valori che compaiono nelle righe successive di quella colonna.
Celle vuote e valori univoci
Celle vuote è una percentuale da 0 a 100 per colonna: ogni cella resta vuota con quella probabilità. Ti serve per verificare come un’importazione gestisce i valori mancanti.
Con l’opzione Univoci un valore viene estratto di nuovo finché non risulta inutilizzato in quella colonna; dopo 1.000 tentativi il generatore si arrende con un errore che indica la colonna. Le impostazioni vengono rifiutate subito quando l’univocità è impossibile: un intervallo di interi che contiene meno numeri delle righe richieste, o meno opzioni che righe. Gli altri tipi possono comunque esaurirsi a metà, per esempio un nome e cognome univoco dopo circa 144 righe in inglese (12 nomi × 12 cognomi). Le colonne di tipo progressivo, UUID e valore fisso saltano il controllo, e le celle vuote non contano come valori.
Errori nelle impostazioni
- Il numero di righe deve essere un intero da 1 a 1.000.000 e le colonne devono essere da 1 a 100.
- Un nome di colonna è vuoto o ripetuto: ogni intestazione deve essere compilata e diversa dalle altre.
- Le colonne di numeri interi e decimali richiedono sia un minimo sia un massimo, con il minimo non superiore al massimo.
- Gli intervalli di date vanno scritti nella forma
YYYY-MM-DD, per esempio2024-01-01;2024/01/01o01/02/2024vengono rifiutati. - Un modello deve contenere almeno un
#,?o*; altrimenti usa una colonna a valore fisso. - Un elenco di opzioni deve contenere almeno un valore con peso maggiore di zero.
Esempio
Cinque righe con il seed demo-2026 e l’inglese come lingua dei dati: un numero progressivo che parte da 1001 con 6 cifre, nome e cognome, un’email, un’opzione ponderata, un decimale da 0 a 250 con il 40% di celle vuote e il modello SKU-####-??. Rigenerando con le stesse impostazioni ottieni esattamente queste righe. I fine riga sono mostrati come semplici a capo.
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
Domande frequenti
Posso condividere i dati generati senza problemi?
Non contengono persone reali: i nomi sono coppie casuali di nomi comuni, le email usano il dominio riservato .test (RFC 2606) e i numeri di telefono inglesi usano la serie 555. I nomi delle città sono luoghi reali.
Un collega otterrà lo stesso file?
Sì, se usa lo stesso seed, lo stesso numero di righe, la stessa lingua dell’interfaccia e le stesse impostazioni delle colonne, nomi compresi. Il generatore usa un proprio algoritmo con seed e non i numeri casuali del browser.
Mi serve un file grande o un piccolo file di prova?
Se ti bastano poche righe documentate con casi limite noti, usa i file CSV di esempio. Il generatore serve quando ti occorrono volumi, nomi di colonna tuoi o un mix preciso di tipi di dati.