Para gerar dados de teste em CSV, defina até 100 colunas, escolha um tipo de dado para cada uma e informe uma quantidade de linhas de 1 a 1.000.000 e uma semente. A mesma semente com as mesmas configurações de coluna sempre gera as mesmas linhas, em qualquer navegador, então você pode recriar um arquivo de teste em vez de guardá-lo. Nomes, e-mails e telefones são fictícios: os e-mails terminam em @example.test e, em inglês, os telefones usam a faixa 555. Carregue o resultado em um banco de testes com CSV para SQL, ou use os arquivos CSV de exemplo documentados quando precisar de casos-limite conhecidos, e não de volume. A geração acontece no seu navegador; nada é enviado para servidor.
Como gerar um arquivo CSV de teste
- Defina a quantidade de linhas (de 1 a 1.000.000) e uma semente. A configuração inicial tem seis colunas: um
idsequencial, um nome completo, um e-mail, uma data de cadastro em 2024–2025, um plano sorteado entre Free, Pro e Team na proporção 6:3:1 e um valor de 0 a 500 com duas casas decimais. - Adicione, remova ou renomeie colunas e escolha o tipo de dado de cada uma. Todo nome de coluna precisa estar preenchido e ser único.
- Se quiser, defina uma porcentagem de células vazias ou exija valores únicos por coluna; depois gere e baixe o arquivo.
As linhas são gravadas por partes em um processo em segundo plano, e não como uma única string enorme. Assim, um arquivo de um milhão de linhas não trava a página, e cancelar interrompe o trabalho. Cada arquivo gerado tem limite de 4 GB.
Tipos de dado que você pode gerar
| Número sequencial | Conta a partir de um valor inicial (padrão 1) com um incremento (padrão 1). Uma largura opcional completa com zeros e gera códigos no estilo 000001; números negativos nunca são completados. |
|---|---|
| UUID | Formato da versão 4 da RFC 9562 (xxxxxxxx-xxxx-4xxx-[89ab]xxx-…), sorteado pelo gerador com semente. Como é reproduzível, não serve como segredo nem como token de segurança. |
| Nome, sobrenome, nome completo | Nomes comuns no idioma da interface. Nomes completos em chinês, japonês e coreano são escritos com o sobrenome primeiro e sem espaço. |
name.word<row>@example.test, por exemplo casey.maple1@example.test. O número da linha deixa cada endereço único. O e-mail não é derivado da coluna de nome. | |
| Telefone | Um padrão em que cada # vira um dígito. Deixe vazio para usar o padrão do idioma; em inglês, é +1 555-###-####. |
| Empresa, cidade, país | Nomes de empresas inventados e nomes de cidades reais no idioma da interface; o país é sorteado de uma lista fixa de 20. |
| Número inteiro | Um número inteiro entre o mínimo e o máximo, incluindo os dois. Os dois limites são obrigatórios e precisam ficar dentro de ±9.007.199.254.740.991, os maiores inteiros que o JavaScript armazena com exatidão. |
| Número decimal | Um número entre o mínimo e o máximo com 0 a 10 casas decimais, por exemplo 114.71. |
| true / false | true ou false, com a mesma probabilidade. |
| Data, data e hora | Um dia aleatório entre duas datas YYYY-MM-DD, incluindo as duas. Data e hora acrescenta um horário UTC aleatório: 2026-01-04T09:17:35Z. |
| Um item de uma lista | Um valor por linha, com peso opcional depois de dois-pontos: Free:6, Pro:3, Team:1 sorteia Free em cerca de 60% das vezes. Linhas sem peso contam como 1. |
| Padrão | Um modelo em que # é um dígito, ? uma letra maiúscula e * um dígito ou uma letra maiúscula: SKU-####-?? gera SKU-6836-LU. Todos os outros caracteres são copiados como estão. |
| Palavras | De 1 a 20 palavras (padrão 3) tiradas de uma lista fixa de 20 palavras simples em inglês, para texto de preenchimento. |
| Valor fixo | O mesmo texto em todas as linhas. |
Sementes e reprodutibilidade
A semente pode ser qualquer texto. Cada coluna tira valores de uma sequência aleatória própria, derivada da semente e do nome da coluna. Por isso:
- a mesma semente, quantidade de linhas e configurações de coluna geram um arquivo idêntico byte a byte, toda vez e em qualquer navegador;
- adicionar, remover ou reordenar outras colunas não altera os valores de uma coluna, mas renomear a coluna altera;
- pedir mais linhas mantém as linhas anteriores iguais e acrescenta novas no fim;
- o idioma da interface muda nomes, cidades, empresas e o formato padrão de telefone, mas não números, datas, opções nem e-mails.
As células vazias usam uma sequência separada. Uma célula vazia não consome um valor, então mudar a porcentagem de vazias desloca quais valores aparecem nas linhas seguintes dessa coluna.
Células vazias e valores únicos
Células vazias é uma porcentagem de 0 a 100 por coluna; cada célula fica vazia com essa probabilidade. Use para testar como uma importação lida com valores ausentes.
A opção de valores únicos sorteia de novo até encontrar um valor que ainda não foi usado na coluna e desiste depois de 1.000 tentativas, com um erro que indica a coluna. As configurações são recusadas logo de início quando a unicidade é impossível: um intervalo de inteiros com menos números do que linhas, ou menos opções do que linhas. Outros tipos ainda podem se esgotar no meio do caminho, por exemplo um nome completo único depois de cerca de 144 linhas em inglês (12 nomes × 12 sobrenomes). Colunas de número sequencial, UUID e valor fixo pulam essa verificação, e células vazias não contam como valores.
Como corrigir erros nas configurações
- A quantidade de linhas precisa ser um número inteiro de 1 a 1.000.000, e deve haver de 1 a 100 colunas.
- Um nome de coluna está vazio ou repetido: todo cabeçalho precisa estar preenchido e ser diferente dos outros.
- Colunas de número inteiro e decimal precisam de mínimo e máximo, e o mínimo não pode ser maior que o máximo.
- Intervalos de datas precisam ser escritos como
YYYY-MM-DD, por exemplo2024-01-01;2024/01/01ou01/02/2024são recusados. - Um padrão precisa ter pelo menos um
#,?ou*; caso contrário, use uma coluna de valor fixo. - Uma lista de opções precisa de pelo menos um valor com peso maior que zero.
Exemplo: cinco linhas com a semente demo-2026
Cinco linhas com a semente demo-2026: um número sequencial começando em 1001 e completado até 6 dígitos, um nome completo, um e-mail, uma opção com peso, um decimal de 0 a 250 com 40% de células vazias e o padrão SKU-####-??. Rode de novo com as mesmas configurações e você recebe exatamente estas linhas. As quebras de linha aparecem como quebras simples.
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
Perguntas frequentes
Os dados gerados podem ser compartilhados com segurança?
Eles não contêm pessoas reais: os nomes são pares aleatórios de nomes comuns, os e-mails usam o domínio reservado .test (RFC 2606) e, em inglês, os telefones usam 555. Os nomes de cidades são lugares reais.
Um colega vai obter o mesmo arquivo?
Sim, se usar a mesma semente, a mesma quantidade de linhas, o mesmo idioma da interface e as mesmas configurações de coluna, inclusive os nomes das colunas. O gerador usa um algoritmo próprio com semente, e não os números aleatórios do navegador.
Preciso de um arquivo grande ou de um exemplo pequeno?
Para poucas linhas documentadas com armadilhas conhecidas, use os arquivos CSV de exemplo. Use o gerador quando precisar de volume, dos seus próprios nomes de coluna ou de uma combinação específica de tipos.