Escreva um campo e seu gerador por linha, escolha a quantidade e selecione JSON ou CSV. Reutilize o mesmo template e seed para reproduzir os dados de teste.
Funciona localmente no seu navegadorUm campo por linha: fieldName: generator. Use uma semente quando precisar gerar o mesmo exemplo novamente.
fullName, email, uuid, url, word, sentence(8), isoDate, boolean, integer(1,99), decimal(0,1), enum(red,blue), e array(word,3).
Uma semente torna o resultado repetível; deixe em branco para usar uma semente única do navegador. Este gerador foi feito para fixtures, demos e dados de teste, não para identidades reais.
Generate fixtures to preview JSON or CSV here.
Os downloads são criados por um Blob local do navegador. Nenhum conteúdo de fixture é enviado ao VoriTools.
Use o resultado para estados de interface, exemplos de API, testes de contrato ou uma importação rápida em JSON → Código. Não use nomes, e-mails ou tokens reais em dados de teste.
Um campo por linha, escrito como fieldName: generator. A página transforma essa lista em registros — JSON para um exemplo de API ou corpo de requisição, CSV para uma planilha ou importação de banco — e aponta a linha errada em vez de devolver um arquivo pela metade.
Uma seed fixa toda a sequência de valores: mesmo template, mesma seed e mesma quantidade de registros geram um arquivo idêntico byte a byte, e aumentar a quantidade depois deixa intactos os registros que você já colou nos testes.
O template aceita treze geradores: fullName, email, uuid, url, word, sentence, isoDate, boolean, integer, decimal, enum, array e ip. Os nomes não diferenciam maiúsculas de minúsculas, e os parênteses são opcionais quando o gerador não recebe argumentos: uuid() e uuid são a mesma chamada.
As regras ficam nos parênteses. integer() vai de 0 a 100 por padrão e recusa um máximo menor que o mínimo; decimal() faz o mesmo, mas arredonda cada valor para duas casas, então decimal(0,0.01) só pode devolver 0 ou 0.01. sentence() gera 8 palavras por padrão e limita o argumento a 1–40. array(gerador,quantidade) exige exatamente dois argumentos e produz no máximo 100 itens. enum() precisa de pelo menos uma opção não vazia e, como as opções são separadas por vírgulas, uma opção não pode conter vírgula.
A seed é convertida no fluxo aleatório, então a mesma seed repete sempre os mesmos valores: oito registros gerados hoje e oito gerados amanhã são iguais caractere por caractere. Com a seed vazia, a página mistura o relógio com Math.random — certo para uma demonstração pontual, errado para um arquivo que um teste compara.
Dois detalhes decidem se o arquivo continua estável. A ordem dos campos faz parte do fluxo: mover um campo ou inseri-lo no meio muda todos os valores seguintes, então acrescente os campos novos no fim. A quantidade de registros não faz parte: cinco agora e cinquenta depois, com a mesma seed, deixam os cinco primeiros intactos.
email e url usam apenas os domínios reservados example.test, demo.invalid e fixture.local, então um endereço gerado não pode ser entregue; ip mantém o primeiro octeto em 223 ou menos e nunca termina em 0 ou 255, dentro da faixa que um parser aceita como endereço de host unicast.
O template, a seed e os registros ficam na aba: uma execução com uma marca no template e na seed não envia nenhuma requisição que a contenha, e o único tráfego de saída da página é o beacon de analytics do próprio site, que nunca vê o arquivo. Os valores continuam sendo placeholders — identidades de produção e dados reais de clientes pertencem aos seus próprios sistemas.
O JSON é um array formatado com dois espaços de indentação, pronto para colar no corpo de uma requisição ou em um módulo de testes. O CSV começa com uma linha de cabeçalho com os nomes dos campos e coloca todas as células entre aspas; um campo array() é gravado como JSON dentro da célula, com as aspas duplicadas como exige a RFC 4180.
Trocar Output reformata as linhas que já estão na tela em vez de gerar novas, então o JSON que você estava lendo vira o CSV correspondente com valores idênticos. O volume não é problema: 5.000 registros de cinco campos levam cerca de 0,2 segundo e ocupam quase um megabyte, e o download é criado a partir de um Blob local chamado kivtools-mock-data.json ou kivtools-mock-data.csv.