Formatador e Validador de JSON
Cole JSON bruto, minificado ou desorganizado para validá-lo instantaneamente e imprimi-lo de forma legível com o recuo de sua preferência. A ferramenta também mostra a linha e a coluna exatas de qualquer erro de sintaxe.
Formate e valide seu JSON
Fórmula do formatador de JSON
Onde:
- \(raw\) — o texto JSON colado no campo de entrada
- \(indent\) — o recuo escolhido: 0 (compacto), 2 espaços, 4 espaços ou um caractere de tabulação
- \(output\) — o resultado formatado
- \(minified\) — os mesmos dados com todos os espaços desnecessários removidos
A ferramenta primeiro analisa o texto bruto para verificar se ele é um JSON sintaticamente válido e, em seguida, o serializa novamente. Se a análise falhar, o analisador informa a posição do caractere do erro, que é convertida em um número de linha e coluna para que você localize o problema instantaneamente.
Formatador de JSON – Exemplo de cálculo
Exemplo: cole o valor padrão no campo JSON bruto e deixe a opção Recuo definida como “2 espaços”:
\(raw = \{"name":"WPCalc","version":2,"free":true,"features":["calculators","converters","tools"],"site":\{"url":"https://wpcalc.com","languages":["en"]\}\}\)
Resultado: a entrada é analisada com sucesso — o Status de validação mostra “✓ JSON válido — o valor de nível superior é um objeto”, e a saída do campo JSON formatado passa a ser:
\(\{\)
\("name": "WPCalc",\)
\("version": 2,\)
\("free": true,\)
\("features": [\)
\("calculators",\)
\("converters",\)
\("tools"\)
\(],\)
\("site": \{\)
\("url": "https://wpcalc.com",\)
\("languages": [\)
\("en"\)
\(]\)
\(\}\)
\(\}\)
O campo JSON minificado mostra os mesmos dados em uma única linha: {"name":"WPCalc","version":2,"free":true,"features":["calculators","converters","tools"],"site":{"url":"https://wpcalc.com","languages":["en"]}}
Como usar a calculadora
- Cole seu JSON bruto, minificado ou desorganizado, na área de texto JSON bruto.
- Selecione o estilo de Recuo para a saída formatada: Minificado (compacto), 2 espaços, 4 espaços ou Tabulação.
- Leia o Status de validação. Se o JSON for válido, você verá o tipo de dados do nível superior, a contagem de itens dos arrays e o comprimento em caracteres da entrada.
- Copie o resultado de que precisa do campo JSON formatado ou JSON minificado.
- Se o JSON for inválido, a linha de status mostra a mensagem de erro do analisador junto com a linha e a coluna do caractere problemático e um pequeno trecho do texto ao redor, para que você corrija o erro de sintaxe diretamente.
O que é JSON e por que a formatação importa
JSON (JavaScript Object Notation) é um formato de texto leve para armazenar e trocar dados estruturados. É o formato de dados padrão para APIs REST, arquivos de configuração, entradas de log e pipelines de dados. Um documento JSON é construído a partir de seis tipos de valor: objetos (pares chave–valor entre chaves), arrays (listas ordenadas entre colchetes), strings, números, booleanos e null.
Quando o JSON trafega pela rede ou é gerado por um programa, ele geralmente está minificado: todas as quebras de linha e espaços desnecessários são removidos para economizar largura de banda. Um arquivo minificado é eficiente, mas quase ilegível para humanos — uma única linha longa com milhares de caracteres dificulta inspecionar uma estrutura ou perceber um colchete fora do lugar. A impressão legível (adicionar recuo e quebras de linha em cada nível de aninhamento) reverte isso, dando a cada chave e valor a sua própria linha e expondo visualmente a hierarquia de aninhamento.
A validação é a outra metade da ferramenta. Estritamente falando, o JSON não tem “fórmulas” — ou ele é analisado, ou não é. Erros comuns incluem vírgulas sobrando antes de um colchete de fechamento, aspas simples no lugar de aspas duplas, chaves sem aspas, comentários (que não fazem parte do padrão JSON) ou uma aspa sem escape dentro de uma string. Em vez de falhar com um erro obscuro de servidor, esta calculadora aponta a linha e a coluna exatas onde a análise parou, o que transforma uma sessão frustrante de depuração em uma correção de uma linha.
A saída também informa o tipo do nível superior do seu documento. Se você esperava um objeto, mas o analisador informa um array (ou uma string ou um número simples), você percebe imediatamente que o formato dos dados difere da sua suposição — uma fonte frequente de bugs ao integrar APIs de terceiros.
Dicas, premissas e limitações
- Vírgulas sobrando e comentários são rejeitados. O analisador segue a especificação JSON (RFC 8259). Diferente dos literais de objeto JavaScript, o JSON não permite vírgulas sobrando no fim, comentários nem chaves sem aspas.
- As chaves mantêm a ordem original. A formatação não ordena as chaves; a saída preserva a ordem em que as chaves aparecem na sua entrada.
- Os números são normalizados. A nova serialização pode reescrever a notação dos números (por exemplo,
1.50se torna1.5, e1e3se torna1000). Inteiros muito grandes podem perder precisão porque são processados como números de ponto flutuante de precisão dupla. - Chaves duplicadas são silenciosamente reduzidas. Se a mesma chave aparecer duas vezes em um objeto, apenas o último valor sobrevive na saída.
- Escolha “Minificado” antes de publicar. Copie a saída do JSON minificado para uso em produção — arquivos menores carregam mais rápido e são o que as APIs e as ferramentas de build normalmente esperam. Use a visualização com 2 ou 4 espaços durante o desenvolvimento e a revisão.
Ferramentas relacionadas
O JSON frequentemente é embutido ou codificado dentro de outros formatos. Se o seu JSON chegou envolvido em uma codificação, experimente primeiro o Decodificador Base64 ou o Decodificador de URL e depois cole o texto decodificado aqui. Para verificar quanto espaço em branco a minificação realmente economizou, passe a saída pelo Contador de Caracteres e, se você também trabalha com scripts, a ferramenta Compactador de JavaScript pode minificar seus arquivos JS da mesma forma.
Perguntas frequentes
Como posso validar ou formatar JSON sem uma ferramenta online?
Na linha de comando, execute python -m json.tool file.json para formatar e validar, ou jq . file.json se você tiver o jq instalado. Em JavaScript, o equivalente é JSON.parse(text) para validar e JSON.stringify(obj, null, 2) para formatar. Todos seguem a mesma gramática estrita da RFC 8259, então rejeitam os mesmos erros: vírgulas sobrando, strings com aspas simples e comentários.
Qual é a diferença entre JSON e um literal de objeto JavaScript?
JSON é um formato de texto estrito; um literal de objeto JavaScript é código. O JSON exige que as chaves estejam entre aspas duplas, só permite strings com aspas duplas e proíbe vírgulas sobrando no fim, comentários e expressões como new Date() ou undefined sem aspas. Um literal como {name: "WPCalc",} é JavaScript válido, mas JSON inválido. Em caso de dúvida, passe o texto por um validador antes de assumir que ele será analisado.
Por que meu JSON falha mesmo parecendo correto?
Verifique primeiro os caracteres invisíveis: uma marca de ordem de bytes (BOM) no início do arquivo, espaços não separáveis copiados de uma página da web ou aspas tipográficas (“ ”) coladas de um editor de texto — tudo isso quebra a análise. Outros culpados frequentes são uma aspa dupla sem escape dentro de uma string (escreva \"), uma quebra de linha literal dentro de uma string (escreva \n) e uma vírgula sobrando antes de } ou ]. O relatório de linha/coluna aponta qual deles é o culpado.
O nível superior de um documento JSON pode ser algo diferente de um objeto?
Sim. A especificação JSON permite qualquer valor único no nível superior: um objeto, um array, uma string, um número, um booleano ou null. Uma string isolada como "hello" ou o número 42 é JSON perfeitamente válido, embora a maioria das APIs envie objetos ou arrays. Se um validador disser que o valor do nível superior é uma string, envolva seus dados em um objeto ou array, se for isso que o consumidor espera.
O que são JSON5 e JSONC, e por que eles falham aqui?
O JSON5 adiciona conveniências como chaves sem aspas, aspas simples, vírgulas sobrando no fim e comentários; o JSONC é JSON com comentários, usado por editores como o VS Code para arquivos de configuração. Ambos são superconjuntos do JSON, mas nenhum é JSON padrão, então um analisador estrito da RFC 8259 os rejeita. Se você tem um arquivo JSONC ou JSON5, remova os comentários e corrija a sintaxe antes de usá-lo com ferramentas e APIs padrão.
Quanto a minificação realmente reduz o tamanho de um arquivo JSON?
Depende de quão pesado é o recuo da versão impressa de forma legível. Passar de um recuo de 4 espaços para a versão minificada normalmente corta o tamanho em 30–60%, porque cada chave, colchete e vírgula ganha quebras de linha e espaços de preenchimento quando formatada. Para payloads pequenos, a economia é desprezível; para grandes respostas de API e pacotes de configuração servidos a muitos usuários, ela se acumula. Passe a saída por um contador de caracteres para comparar os tamanhos antes e depois.
Formatar ou serializar novamente o JSON altera meus dados?
A estrutura e a ordem das chaves permanecem as mesmas, mas os números podem ser reescritos: 1.50 se torna 1.5, 1e3 se torna 1000, e inteiros com mais de cerca de 15 dígitos significativos podem perder precisão porque são armazenados como números de ponto flutuante de precisão dupla. Chaves duplicadas em um objeto também são reduzidas ao último valor. Se a fidelidade numérica exata importa — por exemplo, com IDs grandes — mantenha o texto original.