Formatador, validador e minificador de JSON
Cole seu JSON: a ferramenta valida na hora, aponta o local exato do erro com uma explicação e entrega o resultado formatado ou minificado, pronto para copiar. Nada é enviado.
Como o cálculo é feito
O que a ferramenta verifica
As regras vêm da RFC 8259, o padrão da internet para JSON (equivalente à ECMA-404). A ferramenta lê o texto caractere por caractere com um parser próprio e para na primeira violação. A mensagem informa linha e coluna, marca o ponto com um ^ e explica o problema – igual em qualquer navegador, porque as mensagens do JSON.parse nativo variam de navegador para navegador e muitas vezes não ajudam (“Unexpected token”).
Os erros de JSON mais comuns
- Vírgula final depois do último item:
{"a": 1,}– aceita em JavaScript, inválida em JSON. - Aspas simples ou chaves sem aspas:
{'a': 1},{a: 1}– o certo é{"a": 1}. - Comentários (
//,/* */) não existem em JSON. - Valores de JavaScript ou Python:
undefined,NaN,Infinity,True,None– só são permitidostrue,falseenull. - Números: sem zero à esquerda (
012), sem+1, sem.5ou5., sem hexadecimal (0x1F). E o separador decimal é sempre o ponto:1250.50, nunca1250,50. - Strings: quebra de linha ou tabulação precisam ser escritas como
\nou\t, e uma barra invertida sozinha como\\(típico em caminhos do Windows). - Caracteres invisíveis: um espaço não separável (U+00A0) copiado do Word ou de uma página web não conta como espaço em branco em JSON.
Formatar, minificar, ordenar
A saída é reconstruída a partir do conteúdo validado: Formatar indenta cada nível com 2 ou 4 espaços ou um tab, Minificar remove todos os espaços opcionais (arquivo menor). Números e strings são mantidos exatamente como foram escritos – ao contrário de JSON.parse + JSON.stringify, 1.0 não vira 1 e 12345678901234567890 não é arredondado. Ordenar classifica as chaves pelas unidades de código Unicode, como no JSON Canonicalization Scheme (RFC 8785): maiúsculas antes de minúsculas, letras acentuadas depois de ambas.
Avisos em vez de erros
Chaves duplicadas no mesmo objeto não são proibidas pela RFC 8259, mas não são confiáveis: a maioria dos programas fica só com o último valor. Um BOM (byte order mark) no início pode ser ignorado pelo parser – a ferramenta faz isso e avisa você.
Limites
A ferramenta verifica a sintaxe, não o significado: se faltam campos obrigatórios ou se os tipos estão certos é trabalho para um JSON Schema. As colunas contam caracteres Unicode a partir de 1 (um tab = 1 caractere); editores com largura de tab 4 mostram uma coluna maior. A entrada é limitada a 5 milhões de caracteres e 1.000 níveis de aninhamento.
Perguntas frequentes
Meu JSON é enviado ou armazenado?
Não. A validação e a formatação acontecem inteiramente no seu navegador. O texto não vai para a barra de endereço e não é salvo – só as opções (saída, indentação, ordenação) fazem parte do link.
Por que comentários e vírgula final não são permitidos?
O JSON é propositalmente mínimo para que todas as linguagens de programação o leiam da mesma forma. Comentários e vírgula final pertencem a extensões como JSON5 ou JSONC (usado, por exemplo, nas configurações do VS Code) – como JSON puro, esses arquivos são inválidos.
Meu JSON é válido, mas o programa continua recusando. Por quê?
Em geral o conteúdo não corresponde ao que o programa espera: falta um campo obrigatório, veio um número no lugar de uma string ou a estrutura é outra. Isso é descrito por um JSON Schema ou pela documentação da API. Confira também o aviso sobre chaves duplicadas.
A linha e a coluna batem com o meu editor?
A linha sempre bate. As colunas contam caracteres a partir de 1; um tab conta como um caractere, e um emoji também. Editores que exibem o tab como 4 colunas mostram um número maior. “Ir para o erro” coloca o cursor exatamente no ponto.
Como encontro o problema depois de “fim inesperado”?
Quase sempre falta fechar um } ou ] ou umas aspas. A mensagem indica a linha do colchete ou da chave que nunca foi fechada – comece olhando o final desse bloco.
Fontes e base legal
- STD 90, §§ 2–9: IETF RFC 8259 – The JavaScript Object Notation (JSON) Data Interchange Format
- ECMA-404 – The JSON Data Interchange Syntax, 2nd edition
- § 3.2.3: IETF RFC 8785 – JSON Canonicalization Scheme (Sortierung der Schlüssel)
- JSONTestSuite (Nicolas Seriot) – Testfälle für JSON-Parser
Última atualização:
Ferramentas relacionadas
- Validador de XML e CSV onlineVerifique se o XML está bem formado e valide CSV pela RFC 4180: erros com linha e coluna, separador detectado e prévia da tabela. Roda no navegador.
- Testador de RegexTeste expressões regulares JavaScript ao vivo: correspondências destacadas, grupos de captura em tabela e cada parte do padrão explicada. Grátis, sem upload.
- Codificar e Decodificar Base64Codifique e decodifique Base64 e Base64url com UTF-8 correto, além de URL encode/decode (codificação por porcentagem). Erros claros, tudo no navegador.
- Gerador de Hash: SHA-256, SHA-512, SHA-1, MD5Calcule hashes SHA-256, SHA-384, SHA-512, SHA-1 e MD5 de textos ou arquivos e verifique checksums – no seu navegador, sem upload, grátis.
- Gerador de UUID: gere e valide UUID v4 e v7Gere UUID online: versão 4 (aleatória) ou versão 7 (ordenada por tempo), até 1.000 de uma vez. Valide um UUID e veja versão, variante e data de criação.
- Conversor de timestamp UnixConverta timestamp Unix em data e vice-versa: segundos, milissegundos, micro e nanossegundos detectados; saída em UTC, horário local, ISO 8601 e mais.