JSON Schema Validator
NovoValidate JSON against a JSON Schema (draft-07 / draft-2020-12) with clear error messages.
Runs entirely in your browser. Nothing is uploaded.
O que é JSON Schema e por que é importante?
JSON (JavaScript Object Notation) é a língua franca das APIs web, arquivos de configuração e troca de dados. Mas o JSON puro não tem um sistema de tipos embutido — um campo pode ser uma string em um dia e um número no outro, e a única forma de descobrir a incompatibilidade é um erro em tempo de execução ou um bug de dados sutil. O JSON Schema preenche essa lacuna: é um vocabulário declarativo para descrever a estrutura esperada e as restrições de um documento JSON, validado contra dados reais em tempo de execução.
As equipes utilizam JSON Schema para validar payloads de requisições de API antes de processá-los, para impor o formato dos arquivos de configuração carregados na inicialização, para gerar automaticamente documentação e formulários de UI a partir de uma única fonte de verdade, e para manter a consistência de contratos entre microsserviços. OpenAPI — o padrão para documentação de APIs REST — é construído diretamente sobre JSON Schema, tornando-o o padrão de validação de dados mais amplamente implantado na web.
Versões do rascunho de JSON Schema: Draft-07, Draft 2019-09 e Draft 2020-12
O JSON Schema passou por vários rascunhos de especificação. O Draft-07, lançado em 2018, continua sendo o mais amplamente suportado em todas as principais bibliotecas de validadores e é o dialeto usado pelo OpenAPI 3.0. Ele introduziu as poderosas palavras-chave de validação condicional if/then/else, as anotações de propriedade readOnly/writeOnly e as palavras-chave de codificação de conteúdo. Se você está escrevendo schemas hoje e não precisa dos recursos mais recentes, o Draft-07 é a escolha mais segura para máxima compatibilidade com o ecossistema.
O Draft 2020-12 é a especificação estável atual e introduz várias mudanças significativas: a palavra-chave items é substituída por prefixItems para validação de tuplas, as referências dinâmicas usam $dynamicRef em vez de $recursiveRef, e as novas palavras-chave unevaluatedProperties e unevaluatedItems fornecem controle mais preciso sobre conteúdo adicional.
Palavras-chave principais do JSON Schema explicadas
A palavra-chave type impõe um tipo de dado: string, number, integer, boolean, array, object ou null. required lista as propriedades que devem estar presentes em um objeto. properties mapeia cada nome de propriedade para seu próprio subesquema. pattern aplica uma expressão regular a um valor de string. minimum, maximum, minLength e maxLength restringem intervalos numéricos e de string. enum restringe um valor a um conjunto fixo de valores permitidos; const restringe a um único valor.
As palavras-chave de composição permitem construir regras complexas a partir de blocos de construção simples: allOf funciona como AND lógico, anyOf como OR e oneOf como XOR. A palavra-chave not inverte um esquema. As palavras-chave if/then/else habilitam a validação condicional. Juntas, permitem expressar quase qualquer regra de validação sem escrever código imperativo personalizado.
JSON Schema em produção: contratos de API e pipelines de CI
Em sistemas de produção, a validação de JSON Schema roda no lado do servidor ou em pipelines de CI usando bibliotecas como Ajv (JavaScript/Node.js), jsonschema (Python) ou Newtonsoft.Json (C#). Os schemas são commitados no controle de versão junto com o código da aplicação para que as mudanças de contrato sejam revisadas e rastreadas como qualquer outra mudança. Mudanças quebradas — remover um campo obrigatório, restringir um tipo — são detectadas na revisão de código antes de chegarem à produção.
Esta ferramenta baseada no navegador é ideal para projetar e depurar schemas iterativamente antes de commitá-los. Cole seus dados, escreva seu schema, clique em Validar, leia as mensagens de erro detalhadas e refine — sem servidor, sem npm install, sem idas e vindas. O validador também formata seu JSON em cada execução de validação, tornando-o um prático formatador JSON combinado e testador de schemas.
Exemplo prático: Validando uma resposta de API
Suponha que sua API retorna um objeto de usuário. Um JSON Schema que o valida pode exigir um id inteiro, um nome de string não vazio, um email de string correspondendo a um padrão de email e um papel de string opcional de um enum de 'admin', 'editor' e 'viewer'. Definir additionalProperties como false garante que sua API nunca retorne silenciosamente campos não documentados dos quais os consumidores posteriores possam inadvertidamente depender.
O recurso if/then/else habilita regras condicionais — por exemplo, se o papel for 'admin' então um array de permissões é obrigatório, caso contrário está proibido. Essas regras composicionais permitem que um único schema cubra múltiplas formas válidas de um objeto sem duplicar definições de propriedades.
Como o UtiloKit se compara a outros validadores de JSON Schema
A maioria das ferramentas de validação de JSON Schema online se enquadra em duas categorias: construtores visuais de schemas e validadores de API no lado do servidor. O jsonschema.net obriga você a passar por uma UI de apontar e clicar para construir schemas — é útil para iniciantes aprendendo a estrutura de schemas, mas lento para desenvolvedores que já sabem quais palavras-chave precisam.
O jsonschemavalidator.net, construído sobre a biblioteca Newtonsoft.Json da Microsoft, reporta erros usando caminhos de propriedade .NET e códigos de erro que parecem desconhecidos para desenvolvedores JavaScript. Ferramentas como Stoplight e SwaggerHub validam schemas como parte de um documento OpenAPI completo e exigem configuração de projeto e conta.
O validador do UtiloKit roda no mesmo motor Ajv que alimenta a maioria das aplicações Node.js, Express e Fastify. As mensagens de erro, os caminhos de ponteiro JSON e o comportamento das palavras-chave correspondem exatamente ao seu ambiente de produção — e roda de graça no seu navegador sem conta, sem upload, sem limite de tamanho de arquivo e sem limite de uso diário.
Frequently asked questions
O que é JSON Schema?
JSON Schema é um vocabulário declarativo para anotar e validar documentos JSON. Ele define a estrutura esperada, os tipos de dados e as restrições que um documento JSON deve satisfazer. As equipes o utilizam para validar payloads de API, impor a estrutura de arquivos de configuração, gerar automaticamente documentação e formulários de UI, e garantir a consistência de dados entre microsserviços. OpenAPI 3.0 e 3.1 são ambos construídos sobre JSON Schema.
Qual versão de JSON Schema esse validador suporta?
Este validador implementa as palavras-chave principais do JSON Schema Draft-07, a versão mais amplamente suportada em todas as principais bibliotecas de validadores, incluindo Ajv (JavaScript), jsonschema (Python) e Newtonsoft.Json (C#). O Draft-07 introduziu a validação condicional if/then/else, as anotações readOnly/writeOnly e as palavras-chave de codificação de conteúdo.
Qual é a diferença entre allOf, anyOf e oneOf?
allOf exige que os dados sejam válidos contra todos os subesquemas listados — funciona como um AND lógico. anyOf exige validade contra pelo menos um subesquema — OR lógico. oneOf exige validade contra exatamente um subesquema — XOR lógico. Essas palavras-chave de composição permitem construir regras de validação complexas a partir de peças simples e reutilizáveis.
O que faz additionalProperties: false?
Proíbe qualquer propriedade no objeto que não esteja explicitamente listada sob a palavra-chave properties. Isso cria um schema fechado — muito útil para contratos de API estritos onde campos inesperados devem causar uma falha de validação. É um dos erros mais comuns: se você adicionar uma nova propriedade aos seus dados sem atualizar o schema, a validação vai falhar.
Posso validar arrays de objetos?
Sim. Defina type como 'array' e forneça um subesquema items. Cada elemento do array será validado contra esse subesquema. Para validação de tuplas, defina items como um array de schemas no Draft-07. Você também pode restringir o comprimento do array com minItems, maxItems e impor unicidade com uniqueItems: true.
Como uso $ref para referenciar subesquemas?
Defina schemas reutilizáveis em um objeto $defs de nível superior, depois referencie-os com '$ref': '#/$defs/NomeSchema'. Isso mantém seu schema DRY e legível. Este validador suporta apenas $ref local (mesmo documento) — URLs de $ref remoto apontando para arquivos externos não são buscadas.
Quais são os erros de validação de JSON Schema mais comuns?
Os erros mais comuns são: propriedades obrigatórias ausentes, incompatibilidades de tipo, violações de padrão, violações de intervalo e erros de propriedade adicional quando additionalProperties é false. Este validador reporta cada erro com o caminho exato do ponteiro JSON para o dado que falha.
Related tools
Ver todas as ferramentasMinificador de CSS
Reduza o CSS removendo comentários e espaços em branco desnecessários.
JSON Escape / Unescape
Transforme texto bruto em uma string segura para JSON e reverta-a.
Códigos de status HTTP
Referência pesquisável de códigos de status HTTP com significados em linguagem simples.
Folha de consulta de Regex
Referência pesquisável de tokens e flags de expressões regulares.
Tabela ASCII
Códigos de caracteres pesquisáveis em decimal, hexadecimal, octal e binário.
Conversor de PX para REM
Converta entre px, rem, em e pt em relação a um tamanho de fonte raiz.