Formatador JSON

Indente e embeleze um documento JSON com dois espaços, quatro ou tabulações, chaves ordenadas se quiser, no seu navegador.

Roda inteiramente no seu navegador. Nada é enviado, registrado ou armazenado.

Cole um documento JSON minificado ou mal indentado e leia-o direito. A formatação acontece no seu navegador, então um payload cheio de tokens e dados de clientes nunca sai da sua máquina.

Como funciona

O documento é analisado pelo próprio parser JSON do navegador e depois reescrito com a indentação que você escolheu. Como é uma análise de verdade, e não uma transformação de texto, tudo o que sai é garantidamente JSON válido, e tudo o que for inválido é relatado com a posição em que o parser desistiu.

As chaves dos objetos mantêm a ordem original, a menos que você peça para ordená-las. A ordem dos arrays nunca é tocada, porque a ordem dos elementos de um array JSON tem significado.

Exemplos

Caso Entrada Resultado
Um objeto minificado {"id":7,"tags":["a","b"],"ok":true} { "id": 7, "tags": [ "a", "b" ], "ok": true }

Perguntas frequentes

O meu JSON é enviado para um servidor?

Não. A página carrega um pequeno script que analisa e reformata o documento localmente. Você pode se desconectar da rede depois que a página carregar e a ferramenta continua funcionando.

Por que o meu documento falha por causa de uma vírgula final?

Vírgulas finais são válidas em JavaScript, mas não em JSON. O mesmo vale para comentários, strings com aspas simples e chaves sem aspas: eles pertencem aos literais de objeto do JavaScript, não à especificação do JSON.

Os meus números são alterados?

Os números são reescritos a partir do valor analisado, então a notação pode mudar mesmo que o valor não mude: 1e2 volta como 100. Os inteiros acima de 2^53 são o único limite real, porque não podem ser representados exatamente.

Bom saber

  • Tudo acontece no seu navegador. O documento não é enviado, não é registrado e não é armazenado.
  • Inteiros maiores que 2^53 perdem precisão, porque o JavaScript, que faz o trabalho aqui, lê todo número JSON como float de dupla precisão. Identificadores muito grandes devem trafegar como strings.

Fontes

Todas as ferramentas de Código