Gerador JSON Schema Online
Gere JSON Schema a partir de qualquer JSON. Ideal para validação de APIs e documentação.
Por que usar
APIs documentadas e validadas automaticamente
Draft 2020-12
Gera schemas compatíveis com o padrão IETF mais recente e com o OpenAPI 3.1.
Privado
O JSON é processado no seu navegador. Nunca enviado a nenhum servidor.
Tipos inferidos
Detecta strings, números, booleanos, arrays e objetos aninhados automaticamente.
Instantâneo
Schema gerado em milissegundos. Sem cadastro, sem espera.
Como funciona
Três passos, sem complicação
Cole seu JSON
Cole qualquer objeto JSON válido. O gerador analisa a estrutura e os tipos de cada campo.
Revise o schema gerado
O JSON Schema aparece com tipos inferidos, propriedades obrigatórias e descrições opcionais.
Copie ou baixe o schema
Use o schema na sua API, validador (ajv, zod) ou documentação OpenAPI. Copie com um clique.
Perguntas frequentes
Ficou com dúvidas?
JSON Schema é um vocabulário que permite anotar e validar documentos JSON, definido como rascunho IETF. Ele descreve a estrutura esperada de um documento JSON: quais propriedades ele deve ter, seus tipos (string, number, array, object), quais são obrigatórias, intervalos válidos de valores, padrões regex para strings e mais. É o padrão de fato para documentar e validar APIs REST, contratos de dados e configurações de aplicações.
A versão mais recente é o JSON Schema draft 2020-12, publicado em dezembro de 2020. Ele introduz melhorias ao uso de $ref (agora combinável com outras palavras-chave), prefixItems para arrays de tuplas e o vocabulário unevaluatedProperties. Para compatibilidade com ferramentas mais antigas, o draft-07 ainda é amplamente utilizado. O OpenAPI 3.1 adota o JSON Schema draft 2020-12 como subconjunto, portanto se você usa OpenAPI 3.1 deve usar o 2020-12.
No JSON Schema, a palavra-chave required é um array de strings com os nomes das propriedades que devem estar presentes no objeto. Uma propriedade definida em properties mas não listada em required é implicitamente opcional: pode estar presente ou ausente sem falhar na validação. A distinção é fundamental para APIs: um campo obrigatório ausente em uma requisição deve retornar erro 400, enquanto um campo opcional ausente simplesmente usa o valor padrão.
Para arrays de objetos, use type: array com items apontando para o schema do objeto contido. Por exemplo: { type: array, items: { type: object, properties: { ... } } }. Você também pode definir minItems e maxItems para controlar o tamanho do array, e uniqueItems: true para exigir que não haja duplicatas. Para arrays de tamanho fixo com tipos heterogêneos, use prefixItems (draft 2020-12) ou items como array (draft-07).
$ref é uma palavra-chave do JSON Schema que referencia outro schema por URI, permitindo definições reutilizáveis. É usado com $defs (draft 2020-12) ou definitions (draft-07) para evitar repetir a mesma estrutura. Por exemplo, um schema de Endereço definido uma vez pode ser referenciado tanto em enderecoCobranca quanto em enderecoEntrega. Isso reduz redundância, simplifica a manutenção e é essencial para schemas OpenAPI com modelos compartilhados entre múltiplos endpoints.
A história do JSON Schema e o ecossistema de validação
O JSON Schema foi proposto por Kris Zyp em 2009 como uma especificação informal publicada no blog da SitePen. A primeira versão formal como rascunho IETF foi o draft-00 em 2010. Desde então houve múltiplas revisões (draft-01 até draft-07, depois 2019-09 e 2020-12) sem se tornar um RFC oficial, embora seja amplamente adotado como padrão de fato. O processo de padronização IETF exige implementações de referência e testes de interoperabilidade, que a comunidade JSON Schema está ativamente concluindo.
A integração do JSON Schema com o OpenAPI é fundamental no desenvolvimento moderno de APIs. O OpenAPI 2.0 (Swagger) usava um subconjunto limitado do JSON Schema draft-04. O OpenAPI 3.0 melhorou a compatibilidade mas manteve suas próprias extensões como nullable. O OpenAPI 3.1 adotou o JSON Schema draft 2020-12 completo, eliminando discrepâncias. As principais bibliotecas de validação incluem ajv (Another JSON Schema Validator, JavaScript, com suporte ao draft 2020-12), jsonschema (Python), json-schema-validator (Java) e NJsonSchema (.NET).
Zod, TypeBox e Yup representam uma evolução onde schema e validação são definidos em TypeScript com inferência automática de tipos, gerando JSON Schema como saída (não como entrada). Esse padrão de schema-first com inferência de tipos está substituindo o uso direto do JSON Schema em projetos TypeScript modernos, embora o JSON Schema continue indispensável para validação entre linguagens, contratos de API entre equipes com stacks tecnológicas diferentes e documentação de eventos em arquiteturas orientadas a eventos (AsyncAPI).