Ir para o editor JSON
JSON Formatter Viewer

Embelezador JSON

input.json

Cole seu JSON aqui

ou solte um arquivo .json em qualquer ponto desta área

A saída formatada aparece aqui.

Aguardando uma entrada

Três tipos de JSON ilegível

“Embeleza isso” normalmente significa um de três problemas distintos, e cada um tem o seu botão.

1. Válido, mas minificado

Uma linha longa, sem espaço em branco. Pressione Formatar. Esse é o caso fácil: o documento é analisado, só falta reserializá-lo com indentação. O visualizador em árvore costuma ser ainda mais rápido, já que deixa você abrir apenas o ramo que interessa.

2. Válido, mas o JSON está dentro de uma string

Agregadores de log, filas de mensagens e colunas TEXT de banco de dados costumam devolver um documento JSON codificado como string JSON. Ele chega denso de barras invertidas:

"{\"user\":{\"id\":41,\"tags\":[\"a\",\"b\"]}}"

Formatar isso produz uma string muito longa, porque uma string é realmente tudo o que existe ali. Pressione Desescapar em vez disso: a string externa é analisada, o documento interno é decodificado e você ganha estrutura real. Cargas codificadas duas vezes só precisam do botão duas vezes.

3. Não é JSON válido de jeito nenhum

Trechos copiados de código JavaScript, saída do REPL do Python, configuração editada à mão com comentários e respostas JSONP são todos quase-JSON. Pressione Reparar e depois Formatar. O que ele trata:

  • {name: "ada"} → nomes de propriedade ganham aspas
  • {'name': 'ada'} → aspas simples viram aspas duplas
  • [1, 2, 3, ] → a vírgula final é removida
  • // nota e /* nota */ → comentários são retirados
  • {"ok": True, "x": None} → literais do Python viram true e null
  • {"n": NaN} → vira null, já que o JSON não expressa NaN
  • cb({"a":1}) → o invólucro JSONP é removido
  • {"a":1}
    {"a":2} → JSON delimitado por linhas é embrulhado em um array

Reparar coloca o resultado no editor em vez de aplicá-lo invisivelmente, para você ler a diferença antes de confiar nela.

Ordenar chaves para comparar

Dois documentos com os mesmos dados em ordem de propriedades diferente são chatos de comparar. Ordenar chaves ordena cada objeto de A a Z em toda profundidade, então embeleze e ordene os dois lados e um diff de texto mostrará apenas as diferenças reais. A ordem dos arrays fica intacta — em um array, ordem é dado, não formatação.

Documentos muito grandes

Acima de cerca de 1,5 MB o editor para de reanalisar a cada tecla e espera você pressionar Formatar, o que mantém a digitação e a colagem fluidas. Saída embelezada acima de 400 KB é exibida sem coloração de sintaxe, porque tokenizar tanto texto custa mais do que a cor vale; a árvore continua totalmente interativa em qualquer tamanho.

Perguntas frequentes

Embelezar é diferente de formatar?

Não: mesma operação, outro nome. Esta página existe porque a entrada aqui costuma ser mais suja: blocos minificados, strings escapadas, linhas de log e dialetos quase-JSON. Ela abre com Reparar a um clique.

O que exatamente o Reparar muda?

Ele remove BOMs, comentários // e /* */ e invólucros JSONP; converte strings com aspas simples e chaves sem aspas para aspas duplas; retira vírgulas finais; mapeia True/False/None para literais JSON; converte NaN, Infinity e undefined em null; escapa quebras de linha cruas dentro de strings; e embrulha JSON delimitado por linhas em um array.

O Reparar pode estragar meus dados?

Ele reescreve o texto, então revise o resultado — é justamente por isso que o documento reparado chega no editor em vez de ser aplicado em silêncio. As duas conversões que perdem informação são NaN/Infinity virando null e uma palavra sem aspas virando string. Todo o resto é mudança só de sintaxe.

E se o Reparar não conseguir?

Você recebe uma mensagem dizendo isso, e o erro do validador continua na tela com linha, coluna e marcador. Documentos truncados e bytes genuinamente corrompidos precisam de uma pessoa — Reparar trata dialetos de sintaxe, não dados que faltam.

O resto das ferramentas

O mesmo motor e a mesma privacidade — cada página roda inteiramente no seu navegador.