Formatador e validador JSON
JSONFormate, valide e minifique JSON. Localização precisa de erros com linha e coluna, além de destaque de sintaxe.
URLs remotas não são buscadas; cole seu JSON diretamente.
Nesta página
O que é um formatador de JSON?#
Um formatador de JSON pega um denso bloco de JSON — daqueles que um servidor registra numa única linha, ou que um bundler emite minificado — e reescreve-o com indentação consistente para que uma pessoa consiga lê-lo. Parece trivial, mas um formatador é geralmente a primeira ferramenta a que se recorre quando um pedido falha, quando um arquivo de configuração tem um erro de digitação, ou quando dois payloads parecem idênticos mas comportam-se de forma diferente.
Esta página faz três tarefas relacionadas no mesmo sítio. Ela embeleza (adiciona indentação e quebras de linha), valida (diz-lhe se o texto é, sequer, JSON válido) e minifica (remove todos os bytes de espaços em branco para obter o payload mais pequeno possível). Quando a validação falha, a barra de estado não se limita a dizer “erro” — indica a linha e coluna exatas, o que muitas vezes é a diferença entre uma correção de cinco segundos e vinte minutos a olhar para o tela.
Como usar#
- Cole o seu JSON no painel Entrada à esquerda. Também pode clicar em Exemplo para carregar um pequeno exemplo, se só quiser ver o comportamento.
- Escolha um estilo de Indentação na barra de ferramentas: 2 espaços, 4 espaços ou tabulação. Dois espaços é a convenção mais comum; as tabulações são úteis se vai colar num editor que já as usa.
- Escolha o que mais pretende fazer:
- Formatar — embelezar com a indentação escolhida.
- Minificar — colapsar para uma única linha, sem espaços. Ideal antes de colar no corpo de um pedido.
- Validar — verificar a sintaxe sem alterar o texto; útil quando só quer uma resposta de sim/não.
- Marque Ordenar chaves se quiser as propriedades do objeto emitidas por ordem alfabética. Isto é surpreendentemente útil ao comparar duas respostas de versões diferentes de uma API: com chaves ordenadas, as únicas diferenças restantes são as que realmente importam.
- Marque Permitir vírgulas finais para uma variante mais relaxada e amigável (uma vírgula após o último elemento). Note que parsers estritos rejeitarão isto — ative apenas para leitura local.
- Leia o resultado no painel Saída. A barra de estado por baixo indica
JSON válidoou a localização exata do erro (linha:col — mensagem). Use Copiar para recolher o resultado.
Principais funcionalidades#
- Parser nativo estrito. Construído sobre a própria implementação
JSONdo navegador, pelo que o que passa aqui é o que passa em tempo de execução. Sem dialetos personalizados, sem surpresas. - Localização precisa de erros. Uma vírgula final, uma chave sem aspas, um parêntesis em falta — cada um é reportado com a sua linha e coluna, não apenas um “erro de análise” genérico.
- Três estilos de indentação. 2 espaços, 4 espaços, tabulações.
- Ordenação de chaves e vírgula final opcionais. Alterne qualquer um dos dois por tarefa sem voltar a colar.
- 100% no lado do cliente. O texto que cola é processado pela página no seu navegador. Nunca é enviado — não há backend para o qual enviar.
- Contagem de caracteres em tempo real. Ambos os painéis mostram o seu tamanho, o que ajuda quando se tenta reduzir bytes de um payload.
Exemplo prático#
Imagine que um endpoint de configuração devolve este bloco minificado e precisa de detetar uma chave com nome errado:
Entrada (minificada, uma linha):
{"server":"api.example.com","port":443,"retry":{"count":3,"backoffMs":[100,400,1600]},"tags":["prod","primary"]}
Clique em Formatar com indentação de 2 espaços e Ordenar chaves ativado:
{
"port": 443,
"retry": {
"backoffMs": [
100,
400,
1600
],
"count": 3
},
"server": "api.example.com",
"tags": [
"prod",
"primary"
]
}
Com as chaves ordenadas, backoffMs fica ao lado de count, e consegue ver imediatamente a forma exponencial (100, 400, 1600) que era invisível na versão de uma linha. Repare que tags continua a ser ["prod","primary"] — Ordenar chaves reordena apenas as propriedades do objeto; nunca toca nos elementos dos arrays, pelo que a ordem em que os colocou é exatamente a ordem que recupera.
FAQ#
Isto envia os meus dados?#
Não. A análise é feita pela API JSON nativa do navegador dentro desta página. Não há endpoint de servidor nem pedido de rede — a sua entrada fica no seu dispositivo.
A barra de estado diz que o meu JSON é inválido, mas parece estar bem. E agora?#
Verifique a linha e coluna indicadas. Os quatro culpados mais comuns são: uma vírgula final antes de um } ou ] de fecho, aspas simples em vez de aspas duplas ao redor das strings (o JSON exige aspas duplas), uma chave de objeto sem aspas, e um carácter de tabulação ou de controlo literal colado de outro editor. O número da coluna aponta para o culpado exato.
O que é que “Ordenar chaves” realmente faz?#
Reemite as propriedades de cada objeto por ordem alfabética (ordem ASCII, sensível a maiúsculas e minúsculas). Os arrays mantêm-se na ordem original — ordenar chaves nunca reordena os elementos de um array, porque a ordem dos arrays é semanticamente significativa.
Consegue lidar com arquivos muito grandes?#
Sim, até ao limite de memória do navegador. Para arquivos além de alguns megabytes, espere que a formatação demore um momento notório; a barra de estado mostra a contagem de caracteres para que possa aferir o tamanho. Esta página não faz streaming, pelo que entradas extremamente grandes (centenas de MB) sobrecarregarão o separador.