O que deixa um JSON inválido
JSON parece JavaScript, mas é mais rígido. As chaves precisam de aspas duplas, e as strings também; aspas simples não valem. Uma vírgula depois do último item de um objeto ou array é erro. Comentários, undefined, NaN e números com zero à esquerda (007) não são JSON. Quebras de linha dentro de uma string precisam ser escritas como \n. Arquivos de configuração e payloads editados à mão quebram por isso o tempo todo.
Este validador aplica a gramática da RFC 8259 à risca e para no primeiro problema, mostrando a linha, a coluna e o que era esperado.
Exemplo resolvido
{
"nome": "Ada",
"idiomas": ["pt", "en",],
}
falha na linha 3, coluna 25: vírgula sobrando antes do ]. Removendo, o próximo erro é a vírgula sobrando na linha 4, coluna 1. Corrigindo as duas, o resumo mostra um objeto com 2 chaves e profundidade 2.
Como funciona
A entrada é lida uma vez por um parser estrito que segue a RFC 8259. Ele confere cada token: strings com aspas duplas, escapes válidos e sem caracteres de controle crus; números sem zero à esquerda nem ponto decimal solto; e apenas true, false e null como literais. Quando aparece algo inesperado, o parser informa a linha e a coluna (contadas a partir de 1) e um motivo curto. Documentos válidos ganham um resumo com o tipo da raiz, o número de chaves e a profundidade máxima. Tudo roda nesta aba.
Perguntas frequentes
Uma string ou número sozinho é JSON válido?
Sim. Desde a RFC 7159, qualquer valor JSON pode ser a raiz, não só objeto ou array.
Comentários são permitidos em JSON?
Não. JSONC e JSON5 permitem, mas o JSON padrão não, então eles falham aqui.
Por que a coluna parece errada por um?
As colunas contam a partir de 1, e emoji contam como duas unidades, como na maioria dos editores.
NaN ou Infinity são válidos?
Não. Números JSON precisam ser finitos; serialize como null ou como string.
Fontes
- RFC 8259 — The JavaScript Object Notation (JSON) Data Interchange Format
- ECMA-262 — ECMAScript Language Specification
- Wikipedia — JSON
Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/json-validator/