Confere o JSON pela RFC 8259 a cada tecla. Uma vírgula final em [1, 2, 3,] ou uma chave com aspas simples recebe linha, coluna e marca exatas, com uma dica clara, para você corrigir configs e payloads de API antes que quebrem em produção.
Como usar
- Cole JSON, solte um arquivo .json ou abra um. Ele é validado enquanto você digita.
- Se algo estiver errado, você vê a linha e a coluna exatas, uma marca sob o problema e uma explicação clara. Toque no erro para ir até ele.
- Visualização formatada: escolha 2 espaços, 4 espaços, Tab ou Minificar e, se quiser, ordene as chaves. Copie ou baixe o resultado.
- Árvore: expanda e recolha nós para explorar. Toque numa linha para copiar o caminho, como $.items[3].name.
- CSV: um array de objetos vira tabela, com campos aninhados achatados em colunas com pontos. Baixe para o Excel ou Google Planilhas.
- Seu JSON nunca sai do navegador. Arquivos de 10 MB ou mais funcionam bem.
- Números maiores do que o JavaScript consegue representar mantêm os dígitos exatos ao formatar, quando o navegador suporta.
- Ordenar chaves é recursivo e ajuda antes de comparar dois arquivos JSON.
- O CSV usa o primeiro array de objetos encontrado. Arrays dentro de objetos viram colunas numeradas como tags.0 e tags.1. O download inclui BOM UTF-8 para o Excel mostrar acentos corretamente.
O que torna um JSON válido
O JSON é definido pela RFC 8259 e pela ECMA-404. Strings e chaves usam aspas duplas, e só existem seis tipos de valor: objeto, array, string, número, true/false e null. Comentários, vírgulas finais, aspas simples, NaN, Infinity e zeros à esquerda como 007 não são permitidos, embora o JavaScript aceite alguns deles.
Os erros mais comuns são vírgula depois do último item, vírgula faltando entre dois itens, aspas ou quebra de linha sem escape dentro de uma string e chave sem aspas. O validador descreve o problema e marca o ponto exato, por exemplo um } inesperado na linha 12, coluna 3, depois de uma vírgula final.
Formatar, minificar ou ordenar
Formatar adiciona indentação e quebras de linha para ler e comparar os dados; minificar remove todos os espaços opcionais e costuma economizar de 10 a 30% em arquivos indentados. Ordenar as chaves recursivamente deixa os objetos em ordem alfabética, então dois arquivos com os mesmos dados e ordem diferente são comparados sem ruído. Inteiros muito grandes, como IDs de 64 bits, mantêm os dígitos exatos ao formatar quando o navegador permite.
Visões em árvore e CSV
A árvore permite recolher documentos grandes e copiar o caminho de qualquer nó no estilo JSONPath, como $.items[3].name. A visão CSV pega o primeiro array de objetos, usa as chaves como cabeçalho e achata campos aninhados em notação de ponto, como address.city, pronta para Excel ou Google Planilhas.
Perguntas frequentes
Como encontro o erro no meu JSON?
Cole o JSON e leia a mensagem abaixo do editor: ela mostra linha, coluna e uma explicação curta, com uma marca sob o caractere exato. Toque na mensagem para ir até lá.
JSON aceita comentários ou vírgula final?
Não. O JSON padrão (RFC 8259) não aceita nenhum dos dois. Algumas ferramentas aceitam JSONC ou JSON5, mas APIs e JSON.parse vão recusar, então tire comentários e vírgulas finais antes de enviar.
Meu JSON é enviado para algum lugar?
Não. A análise, a formatação e a conversão acontecem no seu navegador, então você pode colar respostas de API ou arquivos de configuração com dados privados.
Qual a diferença entre formatar e minificar?
Formatar adiciona indentação e quebras de linha para facilitar a leitura. Minificar remove todos os espaços fora das strings para deixar o arquivo o menor possível. Os dados continuam iguais.
Dá para converter JSON em CSV aqui?
Sim. Mude para a visão CSV: um array de objetos vira linhas, as chaves viram colunas e os campos aninhados viram colunas em notação de ponto. O download abre certinho no Excel.
Por que meus números grandes mudam em outras ferramentas?
Números em JavaScript são floats de 64 bits, então inteiros acima de 9.007.199.254.740.991 perdem precisão ao serem lidos. Este formatador mantém os dígitos originais ao formatar quando o navegador permite; se puder, guarde esses IDs como string.