O que é e para que serve
JSON compactado em uma única linha é impossível de revisar a olho nu, e um JSON com erro de sintaxe costuma dar uma mensagem de erro genérica que não diz onde está o problema. Essa ferramenta formata o JSON com indentação legível, minifica quando você precisa do formato compacto, e aponta a posição exata do erro quando o texto não é um JSON válido.
Como usar
- Cole o JSON na caixa de entrada.
- Clique em "Formatar" para indentar com 2 espaços, ou em "Minificar" para compactar em uma linha.
- Se houver erro de sintaxe, a posição aproximada do problema é indicada.
- Copie o resultado formatado ou minificado.
Exemplos práticos
Resposta de API numa linha só. Você copiou do DevTools algo como {"user":{"id":42,"name":"Ana","roles":["admin","editor"]}}. Formatando, a estrutura aninhada fica visível e dá para conferir se roles é array ou string.
Achar o erro de sintaxe. Colando um JSON com vírgula sobrando, a ferramenta aponta a posição aproximada. Isso resolve o problema clássico de "Unexpected token" sem dizer onde.
Reduzir tamanho antes de enviar. Um JSON de configuração de 40 KB formatado costuma cair para cerca de 30 KB minificado. Em API de alto volume, isso importa.
Conferir payload de webhook. Ao depurar uma integração, colar o corpo recebido e formatar deixa claro quais campos vieram e quais estão nulos.
Comparar dois JSONs. Formatando os dois com a mesma indentação, a comparação lado a lado no editor fica confiável — sem isso, diferenças de espaçamento poluem o diff.
Detalhes e limitações
A validação usa o parser JSON nativo do navegador (JSON.parse), o mesmo motor que qualquer aplicação JavaScript usa para interpretar JSON — então se o navegador aceita, qualquer ambiente compatível com o padrão também aceita. Erros comuns incluem vírgula sobrando no último item de uma lista ou objeto, aspas simples no lugar de aspas duplas, e chaves sem aspas. Nenhum dado colado aqui é enviado a servidor: a formatação acontece inteiramente no seu navegador, o que também torna a ferramenta segura para colar JSON com dados sensíveis durante um debug local.
Erros comuns
Vírgula sobrando no último item. {"a": 1, "b": 2,} é inválido em JSON, embora JavaScript aceite. É de longe o erro mais comum.
Aspas simples em vez de duplas. {'nome': 'Ana'} é objeto JavaScript, não JSON. O padrão exige aspas duplas em chaves e em strings.
Chave sem aspas. {nome: "Ana"} também é JavaScript válido e JSON inválido.
Comentários. JSON puro não aceita // nem / /. Variantes como JSON5 e JSONC aceitam, mas não são JSON padrão e muitos parsers rejeitam.
Vírgula decimal. {"preco": 19,90} está errado: JSON usa ponto como separador decimal. O correto é 19.90.
NaN, Infinity e undefined. Não existem em JSON. Use null para ausência de valor.
Confiar em eval() para interpretar JSON. Além de mais lento, executa código arbitrário. Use sempre o parser nativo da linguagem.
Perguntas frequentes
Por que meu JSON dá erro mesmo parecendo correto?
As causas mais comuns são vírgula sobrando após o último item, aspas simples em vez de duplas, ou uma chave de objeto sem aspas. A ferramenta aponta a posição aproximada do erro para facilitar achar o ponto exato.
O JSON que eu colar é enviado para algum servidor?
Não. Toda a validação e formatação roda localmente, no seu navegador.
Qual a diferença entre formatar e minificar?
Formatar adiciona indentação e quebras de linha para leitura humana. Minificar remove todos os espaços desnecessários, produzindo o menor JSON possível — útil para reduzir o tamanho de arquivos enviados por rede.
Por que meu JSON dá "Unexpected token"?
Na maioria das vezes é vírgula sobrando no último item, aspas simples em vez de duplas, ou chave sem aspas. A ferramenta aponta a posição aproximada do problema.
JSON aceita comentários?
Não. JSON puro não tem sintaxe de comentário. Formatos derivados como JSON5 e JSONC aceitam, mas não são JSON padrão e podem ser rejeitados por outros sistemas.
Qual a diferença entre JSON e objeto JavaScript?
JSON é mais restrito: exige aspas duplas em todas as chaves e strings, não aceita vírgula final, comentários, funções nem valores como undefined e NaN.
Minificar JSON altera os dados?
Não. Minificar remove apenas espaços e quebras de linha fora das strings. Os dados e a estrutura permanecem idênticos.