Gerador de JSON
Gerador de JSON online e gratuito: crie dados mock aleatórios com um clique, sem escrever templates. Inclui 13 tipos de campos prontos e schema de exemplo, com nomes, intervalos e quantidade personalizáveis. Perfeito para integração frontend, testes de API e construção de dados de exemplo.
Sugestões Relacionadas
Sobre o Gerador de JSON e dados mock de teste
O Gerador de JSON (JSON Generator / JSON Mock Tool) é uma ferramenta que, por meio de definição declarativa de campos, produz em um clique dados JSON aleatórios que seguem a estrutura especificada. Voltado principalmente para desenvolvimento frontend, integração de backend e testes automatizados, seu objetivo é permitir que o desenvolvedor obtenha dados de teste sintaticamente válidos e estruturalmente controlados, sem escrever loops e funções aleatórias manualmente, especialmente quando "a API ainda não está pronta" ou "é necessário gerar dados em lote".
Os geradores de JSON mais comuns se dividem em duas categorias: a primeira usa sintaxe de templates (como Handlebars {{repeat(5)}} em json-generator.com, ou random(1,100) funcional em extendsclass), mais flexível mas exige aprender a sintaxe; a segunda adota o estilo visual baseado em construtor de campos (caso desta ferramenta), onde se adicionam campos pela interface gráfica e escolhe o tipo — WYSIWYG, com a menor curva de aprendizado, ideal para produto, QA e desenvolvedores frontend que não são full-stack.
Dados Mock (Mock Data) são dados fictícios usados para simular cenários reais de negócio, e precisam atender a três características: estrutura idêntica à API real, valores de campo em intervalos razoáveis e cobertura de cenários típicos. Bons dados mock permitem ao frontend concluir 90% do trabalho de UI antes da API existir, e mantêm os testes automatizados estáveis sem depender do backend real.
Os 13 tipos de campos integrados cobrem a maioria dos cenários de teste de API: String / Integer / Number / Boolean para valores básicos; Email / Name / UUID / Date / URL / Phone para campos de negócio; Paragraph para textos longos; Enum para valores discretos controlados (status, papéis, níveis); Array para listas. Toda a geração acontece localmente no navegador via JavaScript, sem nenhuma requisição de rede.
A aleatoriedade é o núcleo do gerador de JSON: o campo UUID segue o RFC 4122 v4 (com bits de versão e variante corretos), Email combina nomes comuns com domínios de teste, e datas são amostradas aleatoriamente entre 2020-01-01 e o momento atual. Se o seu projeto precisa de dados "reproduzíveis" (por exemplo, em testes de regressão), recomendamos gerar uma vez e salvar como .json para uso repetido como fixture.
Casos de uso
- Renderização de componentes no frontend que precisa de dados mock estáveis e repetíveis, como listas de usuários, cards de produtos e detalhes de pedidos
- APIs de backend ainda em desenvolvimento: o engenheiro frontend precisa de dados para integrar a página, evitando esperar pelo retorno do backend
- QA escrevendo casos de teste automatizado de API: construção em lote de dados com valores variados para cenários data-driven
- Documentação de API e Swagger/OpenAPI: gerar rapidamente exemplos de request/response que seguem a estrutura correta
- Preparar grandes volumes de dados estruturados para testes de carga e desempenho, validando estabilidade do sistema sob alta concorrência
- Desenvolvimento de scripts de migração de banco e ferramentas de limpeza de dados: gerar JSON de exemplo para validar a lógica de negócio
- Cenários de ensino e demonstração: posts de blog técnico, slides de apresentação e materiais de treinamento que precisam de exemplos JSON bem estruturados
- Validação de formulários frontend e lógica de cache local: construir valores de borda (mínimo/máximo/vazio/tipo inválido) para teste de limites
Como Usar
- No "Construtor de Schema" à esquerda, veja o schema de exemplo padrão (7 campos: id / name / email / age / active / createdAt / bio) ou clique em "+" para adicionar um campo personalizado
- Defina para cada campo o nome (personalizado) e o tipo (13 opções no menu suspenso); tipos numéricos e Paragraph aceitam min/max, e Enum aceita valores separados por vírgula
- Marque "Gerar como array" e defina a quantidade (1-1000), ou desmarque para gerar um único objeto JSON
- Clique no botão "Gerar" no canto superior direito: o resultado formatado aparece imediatamente no editor à direita, com contagem de campos e de registros gerados
- Clique em "Copiar" para colar o resultado em código ou ferramentas de API, ou em "Baixar" para salvar como generated.json
Recursos
- 13 tipos de campos integrados: String / Integer / Number / Boolean / Email / Name / UUID / Date / URL / Phone / Paragraph / Enum / Array, prontos para usar sem decorar sintaxe de templates
- Construtor visual de campos: adicione e remova campos pela interface gráfica, defina nomes e tipos no estilo WYSIWYG, sem escrever templates JSON manualmente
- Controle de intervalos numéricos e de parágrafos: tipos Integer, Number e Paragraph suportam valores mínimo e máximo personalizados, gerando dados mais próximos do uso real
- Enumeração personalizada (Enum): informe uma lista de valores separados por vírgula (ex.: admin,user,guest) e gere opções discretas controladas
- Alternância entre objeto único e array com um clique: marque "Gerar como array" e defina a quantidade (1-1000) para alternar livremente entre JSON único e array
- Schema de exemplo para carregamento rápido: 7 campos pré-configurados (id / name / email / age / active / createdAt / bio); um clique gera um exemplo completo
- Painel de saída com destaque de código: editor CodeMirror à direita exibe o resultado em tempo real, com destaque de sintaxe JSON, numeração de linhas e modo somente leitura
- Copiar e baixar com um clique: copie o resultado para a área de transferência ou baixe diretamente como generated.json
- Execução 100% local no navegador: toda a construção de campos e geração de dados acontece no seu navegador, sem upload, ideal para campos sensíveis
- Adaptação para desktop e mobile: layout de duas colunas ajustável no PC; em mobile alterna automaticamente entre abas de entrada e saída
Exemplos de Código
JavaScript: usar fetch + dados gerados para integração de API
javascriptColoque o generated.json baixado do gerador em uma pasta local de mock para que o fetch seja interceptado e retornado, permitindo integração frontend independente.
// Coloque generated.json em /public/mock/users.json
// Em seguida, use fetch para obtê-lo como dados Mock
async function fetchMockUsers() {
const res = await fetch('/mock/users.json');
const users = await res.json();
console.log(`Carregados ${users.length} usuários`);
return users;
}
// Uso embutido diretamente no código (ideal para casos de teste)
const mockUsers = [
{ id: 1, name: 'Jennifer Martinez', email: 'jennifer.martinez382@example.com', age: 42, active: true },
{ id: 2, name: 'Robert Smith', email: 'robert.smith918@test.org', age: 67, active: false }
];
// Ou importe como fixture em Jest / Vitest
import users from './fixtures/users.json';
test('renderiza lista de usuários', () => {
render(<UserList users={users} />);
expect(screen.getAllByRole('listitem')).toHaveLength(users.length);
});Python: usar a biblioteca Faker para geração de dados Mock mais avançada
pythonSe os 13 tipos de campos desta ferramenta não forem suficientes, a biblioteca Python Faker suporta mais de 100 geradores localizados e pode ser usada em conjunto com o gerador.
# Instalação: pip install faker
from faker import Faker
import json
fake = Faker('zh_CN') # localização em chinês
# Gerar um único usuário
def gen_user():
return {
"id": fake.random_int(min=1, max=99999),
"name": fake.name(),
"email": fake.email(),
"phone": fake.phone_number(),
"address": fake.address(),
"company": fake.company(),
"created_at": fake.iso8601()
}
# Gerar 100 registros em lote e gravar em generated.json
users = [gen_user() for _ in range(100)]
with open('generated.json', 'w', encoding='utf-8') as f:
json.dump(users, f, ensure_ascii=False, indent=2)
print(f"{len(users)} registros de usuário gerados")Linha de comando: usar curl + jq para enviar os dados gerados via POST à API
bashPara testes de carga ou seed de dados, use curl para enviar diretamente o generated.json baixado do gerador à API de destino.
# Supondo que generated.json está no diretório atual e a API alvo é POST /api/users
# Seed em lote
for i in $(seq 1 10); do
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d @generated.json | jq '.'
done
# Ou extraia um único registro com jq e envie via POST
cat generated.json | jq '.[0]' | \
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d @-Perguntas frequentes
Para que serve o Gerador de JSON? Como usá-lo?
O Gerador de JSON serve para gerar dados JSON aleatórios que seguem a estrutura definida, comumente usado em mock frontend, integração de API e testes automatizados. Como usar: no construtor de Schema à esquerda, adicione campos e defina nome e tipo (com min/max ou enum opcional), marque "Gerar como array" e informe a quantidade, depois clique em "Gerar". O resultado aparece à direita, pronto para copiar ou baixar.
Quais tipos de campos são suportados?
São 13 tipos integrados: String (string aleatória), Integer (inteiro), Number (decimal), Boolean (booleano), Email (e-mail), Name (nome em inglês), UUID (padrão RFC 4122 v4), Date (timestamp ISO 8601), URL (endereço web), Phone (telefone americano), Paragraph (parágrafo com várias palavras), Enum (enumeração personalizada) e Array (array de strings). Cobre a grande maioria dos cenários de teste de API.
Como personalizar a quantidade? Posso gerar 1000 registros de uma vez?
Marque a caixa "Gerar como array" e informe um número inteiro entre 1 e 1000 no campo de quantidade, depois clique em gerar. 1000 é o limite da ferramenta, suficiente para a maioria dos testes de carga e geração em lote; para volumes maiores, use scripts locais ou bibliotecas como Faker.js.
Como usar o campo Enum? É possível personalizar os valores?
Após trocar o tipo do campo para Enum, aparece uma caixa de entrada. Liste os valores candidatos separados por vírgula (ex.: admin,user,guest ou high,medium,low) e a ferramenta escolherá um aleatoriamente a cada geração. Ideal para campos discretos e controlados como papéis, status e níveis.
É possível controlar o intervalo de números e parágrafos?
Sim. Tipos Integer e Number aceitam min e max, e a ferramenta gera inteiros ou decimais (2 casas) dentro do intervalo. Paragraph também aceita min/max para controlar o número de palavras (ex.: 20-100 palavras). Os dados ficam mais realistas, evitando valores absurdos como age=999999.
Os UUIDs gerados seguem o padrão?
Sim. O campo UUID é gerado conforme o RFC 4122 v4, com bits de versão (4) e variante (8/9/a/b) corretos, podendo ser usado diretamente como chave primária em banco, número de pedido, ID de rastreamento etc.
Posso copiar e baixar o resultado com um clique?
Sim. Clique no botão "Copiar" para enviar o JSON formatado para a área de transferência; clique em "Baixar" para salvar automaticamente como generated.json, com nome visível na lista de downloads do navegador e conteúdo idêntico ao exibido no editor.
Qual a diferença entre o Gerador de JSON e o Formatador de JSON?
São ferramentas complementares: o Gerador cria novos dados JSON aleatórios do zero, para testes e mock; o Formatador organiza JSON existente, para embelezar e validar. Sugerimos usar o gerador para obter dados de teste e depois o formatador para revisão ou conversão para estruturas TypeScript/Java.
Os dados gerados são enviados para algum servidor? É seguro?
Não. Toda a construção de campos, geração aleatória, cópia e download acontece localmente no navegador via JavaScript. Nada é enviado a servidores, registrado ou cacheado. Pode usar com tranquilidade para campos internos, estruturas de negócio ainda não lançadas e cenários de teste sensíveis — ao fechar a aba, tudo desaparece.
Como usar o resultado diretamente em testes de API?
Após copiar o resultado, cole no corpo (Body) de ferramentas como Postman, Apifox ou Apipost; em frameworks de teste como Jest, Mocha ou Pytest, leia via JSON.parse como fixture; no frontend, coloque o generated.json baixado na pasta local de mock para que axios ou fetch o interceptem.
Os nomes e e-mails gerados são reais?
Não. O campo Name é montado a partir de uma biblioteca interna de nomes e sobrenomes em inglês, e o Email combina nome + sobrenome + número sequencial + domínios de teste (example.com, test.org etc.). Todos são fictícios — não use para validação real nem envie mensagens para os endereços gerados.
Posso gerar apenas um objeto em vez de um array?
Sim. Desmarque a caixa "Gerar como array" para gerar um único objeto JSON (em vez de array). Ideal para depuração de APIs unitárias, exemplos de documentação ou visualização de um único registro. Marque novamente e defina a quantidade para voltar ao modo array.
Solução de Problemas
Mensagem "Adicione pelo menos um campo" após clicar em "Gerar"
Significa que não há nenhum nome de campo válido (field.name) preenchido no Schema atual. Verifique o construtor de campos à esquerda: cada linha precisa ter um nome de campo preenchido para participar da geração — nomes vazios são ignorados automaticamente. Clique em "+" para adicionar um novo campo ou siga o schema de exemplo no topo do "Construtor de Schema".
A ordem dos campos no resultado não corresponde à ordem à esquerda
A especificação JSON não garante a ordem dos campos, mas esta ferramenta mantém estritamente a ordem de cima para baixo conforme o Schema. Verifique se algum campo à esquerda foi removido ou readicionado acidentalmente; se a ordem ainda estiver incorreta, recarregue a página e adicione os campos novamente na ordem desejada.
O campo Enum sempre gera uma string vazia
O campo Enum requer valores candidatos separados por vírgula na caixa de entrada (ex.: admin,user,guest). Se a caixa estiver vazia ou contiver apenas vírgulas, o resultado será uma string vazia. Garanta pelo menos um valor candidato válido — a ferramenta escolhe um aleatoriamente a cada geração.
Campos numéricos retornam NaN ou undefined
Normalmente isso ocorre quando min ou max ficam em branco ou contêm valores não numéricos. Os campos Integer/Number têm intervalos padrão (0-100) mesmo sem preenchimento, mas letras ou números negativos podem causar exceções. Recomendamos preencher apenas números inteiros ou deixar em branco para usar o padrão.
Parágrafos gerados não fazem sentido
O tipo Paragraph usa o dicionário lorem interno para combinações aleatórias, propositalmente sem sentido para evitar coincidir com parágrafos reais em inglês. Para textos mais realistas, use a biblioteca Python Faker ou a API de geração de texto da Hugging Face. Para testes de layout de UI, parágrafos lorem são suficientes.
Não encontro o arquivo generated.json baixado
Após clicar em "Baixar", o navegador salva o generated.json no diretório padrão de downloads. Alguns navegadores (especialmente no mobile) exigem que você procure manualmente na lista de downloads. No Safari, verifique o local de downloads nas Preferências; usuários do Chrome podem ver diretamente no ícone de downloads ao lado da barra de endereço.
Quero gerar um único JSON em vez de um array
Basta desmarcar a caixa "Gerar como array" abaixo do construtor de Schema. Uma vez desmarcada, independentemente do valor no campo de quantidade, será gerado um único objeto JSON {}, ideal para depuração unitária, exemplos de documentação ou gravação de fixture unitário.
A página trava ao gerar 1000 registros
1000 registros está próximo do limite de renderização única do navegador. Se o editor à direita travar ao rolar após a geração, recomendamos: 1) clique imediatamente em "Copiar" ou "Baixar" para obter os dados e feche a página; 2) ou gere em lotes (ex.: 500 + 500 e mescle manualmente); 3) para testes de carga extremos, use diretamente Python Faker ou Mock.js em script nativo.
Glossário
- JSON
- JavaScript Object Notation, formato leve de troca de dados composto por pares chave-valor e arrays; é o padrão de facto para APIs web e comunicação entre frontend e backend.
- Dados Mock
- Dados fictícios que simulam cenários reais de negócio, usados em desenvolvimento frontend, integração de API e testes automatizados quando o backend real ainda não está disponível; devem ter a mesma estrutura da API real.
- Schema
- Definição que descreve a estrutura dos dados, por exemplo "usuário contém os campos id, name e email". Nesta ferramenta, o Schema é o conjunto de nomes e tipos definidos no construtor de campos à esquerda.
- UUID (v4)
- Identificador único universal, string de 128 bits definida pelo padrão RFC 4122. A v4 é baseada em números aleatórios (com bits de variante 8/9/a/b) e praticamente não se repete, sendo usada em chaves primárias distribuídas.
- Tipo de Campo (Field Type)
- Tipo de dado obrigatório para cada campo na ferramenta; determina o formato do valor aleatório gerado. Por exemplo, o tipo Email gera uma string no formato de e-mail, e Integer gera um número inteiro.
- Enum (Enumeração)
- Tipo de campo que escolhe aleatoriamente um valor a partir de um conjunto discreto predefinido. Por exemplo, definido como admin,user,guest, é adequado para papéis, status e níveis.
- min / max
- Restrição de intervalo de valores do campo, válida apenas para Integer, Number e Paragraph. Quando definidos, os números aleatórios são gerados dentro desse intervalo fechado, evitando valores de borda absurdos.
- Saída como objeto único vs array
- A ferramenta suporta duas formas de saída: com "Gerar como array" desmarcado, gera um único objeto JSON {} (ideal para depuração unitária); marcado e com quantidade definida, gera um array de objetos [...] (ideal para dados em lote).
- RFC 4122
- Padrão internacional do UUID, que define o formato, versões (v1 a v5) e bits de variante. Os UUIDs gerados por esta ferramenta seguem a v4.
- CodeMirror
- Componente de editor de código para navegador. A área de saída à direita desta ferramenta usa CodeMirror para fornecer destaque de sintaxe JSON, numeração de linhas e modo somente leitura.
- Processamento local
- Toda a construção de campos e geração de dados acontece no navegador do usuário via JavaScript, sem upload a servidores. Mais rápido e seguro, ideal para campos sensíveis de negócio.
- Fixture
- Arquivo de dados de exemplo fixo usado em testes. A saída do gerador pode ser salva como generated.json para servir como fixture de testes de regressão, garantindo reprodutibilidade.
Tabela rápida de tipos de campos e regras de geração
Intervalos de valores, usos típicos e exemplos dos 13 tipos de campos integrados:
| Tipo | Regra | Exemplo | Uso |
|---|---|---|---|
String | Combinação aleatória de a-z e 0-9, comprimento min-max (padrão 5-20) | a8f3k0d2 | Strings aleatórias genéricas, prefixos de ID, tokens |
Integer | Inteiro aleatório no intervalo fechado [min, max] (padrão 0-100) | 42 | Idade, quantidade, contagem, ordenação |
Number | Decimal aleatório no intervalo fechado [min, max], com 2 casas | 73.28 | Preço, avaliação, coordenada, probabilidade |
Boolean | true / false com probabilidade igual | true | Está ativo, removido, estado de switch |
Email | firstName.lastName + 1-999 + domínio de teste integrado | james.smith247@example.com | E-mail de usuário, destinatário de notificação |
Name | Combinação aleatória das bibliotecas internas de FirstName e LastName em inglês | Jennifer Martinez | Nome de usuário, cliente, autor |
UUID | RFC 4122 v4, com bits de versão (4) e variante | f47ac10b-58cc-4372-a567-0e02b2c3d479 | ID primário, número de pedido, ID de rastreamento |
Date | Timestamp ISO 8601 entre 2020-01-01 e o momento atual | 2024-08-15T07:23:11.000Z | Data de criação, atualização, vigência |
URL | https://www.{domínio de teste}/{palavra lorem}-{1-999} | https://www.test.org/lorem-742 | URL de avatar, link de redirecionamento, endereço de recurso |
Phone | Formato americano +1-XXX-XXX-XXXX | +1-415-308-7241 | Telefone de contato, número de atendimento |
Paragraph | Parágrafo lorem com min-max palavras (padrão 10-50) | lorem ipsum dolor sit amet ... | Biografia, observação, descrição, comentário |
Enum | Escolha aleatória a partir de lista de valores personalizados separados por vírgula | admin | Papel, status, nível, tipo |
Array | Array de 1 a 5 elementos do tipo String | ["a8f", "k0d", "92x"] | Tags, palavras-chave, conjunto de campos auxiliares |
Cenários comuns de geração de JSON e combinações de campos recomendadas
A seguir, alguns cenários frequentes de teste de API e as combinações de campos recomendadas — basta adicionar conforme o exemplo:
| Cenário | Combinação recomendada de campos | Quantidade sugerida |
|---|---|---|
| API de lista de usuários | id (Integer) + name (Name) + email (Email) + age (Integer 18-80) + active (Boolean) + createdAt (Date) + bio (Paragraph) | 20-50 |
| API de lista de produtos | id (Integer) + name (String) + price (Number 10-9999) + stock (Integer) + category (Enum: electronics,clothing,food,book) + imageUrl (URL) | 30-100 |
| API de pedidos | orderId (UUID) + userId (Integer) + amount (Number 1-10000) + status (Enum: pending,paid,shipped,delivered) + createdAt (Date) | 10-30 |
| Lista de posts de blog | id (Integer) + title (String) + author (Name) + content (Paragraph 50-200) + tags (Array) + publishedAt (Date) | 10-20 |
| Lista de comentários | id (Integer) + author (Name) + email (Email) + content (Paragraph) + rating (Integer 1-5) + createdAt (Date) | 50-200 |
| API de agenda de endereços | id (Integer) + name (Name) + phone (Phone) + city (String) + zipcode (String) + isDefault (Boolean) | 5-10 |
Privacy & Security
Neste Gerador de JSON, toda a construção de campos, geração de dados aleatórios, cópia e download acontecem localmente no seu navegador via JavaScript. O Schema que você define, os dados aleatórios gerados, os nomes de campo e a quantidade nunca são enviados a nenhum servidor, nem registrados, cacheados ou armazenados em nuvem. É seguro usar com campos internos de API, estruturas de negócio ainda não lançadas e cenários de teste sensíveis — não há risco de vazamento de dados.
Authoritative References
- IETFRFC 4122 - Especificação de Identificadores Únicos Universais (UUID)
- OfficialSite oficial do JSON (com especificação de sintaxe)
- LibraryMock.js - Biblioteca de mock dedicada para frontend
- LibraryFaker.js / Faker Python - Bibliotecas mais completas de geração de dados falsos
- MDNMDN - JSON.parse / JSON.stringify
- Comprimir JSON
- CSV para JSON
- JSON para CSV
- JSON Diff
- JSON Escape / Unescape
- Achatamento de JSON
- Formatador JSON
- Gerador de JSON
- Consulta JSONPath
- Mesclar JSON
- Reparar JSON
- Validador JSON Schema
- Ordenar JSON
- JSON Stringify
- JSON para HTML
- JSON para Java
- JSON to Markdown
- JSON para SQL
- JSON para TOML
- JSON para TypeScript
- XML para JSON
- JSON para XML
- YAML para JSON
- JSON para YAML
- JSON para Python
- JSON para Go
- JSON para Rust
- JSON para Swift
- JSON para C#
- JSON para C++
- JSON para PHP