Formatador de JSON

Cole JSON minificado ou bagunçado e receba uma saída legível e indentada, com erros apontados por linha e coluna.

Nível 0 · navegador · ilimitado
102 caracteres
Saída
{
  "usuario": {
    "id": 42,
    "nome": "Ada Lovelace",
    "perfis": [
      "admin",
      "dev"
    ]
  },
  "ativo": true,
  "nota": 9.5,
  "tags": []
}
Tipo da raizobject
Chaves7
Profundidade3

Por que formatar JSON

APIs e logs costumam mandar JSON numa linha só para economizar bytes. Isso é ótimo para máquinas e ilegível para pessoas. Formatar adiciona quebras de linha e indentação para a hierarquia ficar visível de relance: a qual objeto um campo pertence, até onde vai um array, onde falta um valor.

Ordenar chaves coloca as chaves de cada objeto em ordem alfabética, em todos os níveis. Isso facilita comparar duas versões de um arquivo de configuração ou duas respostas de API num diff, porque os campos não mudam de lugar.

Exemplo resolvido

{"usuario":{"id":42,"perfis":["admin","dev"]},"ativo":true} com indentação de 2 espaços fica

{
  "usuario": {
    "id": 42,
    "perfis": [
      "admin",
      "dev"
    ]
  },
  "ativo": true
}

Erros

Os erros mais comuns são vírgula sobrando depois do último item, aspas simples no lugar de duplas, comentários e chaves sem aspas copiadas de JavaScript. A página diz qual é o problema e onde ele está.

Como funciona

A página lê o texto com um parser JSON estrito que segue a RFC 8259 à risca e registra a linha e a coluna do primeiro erro, para a mensagem ser igual em qualquer navegador. Uma entrada válida é reescrita com a indentação escolhida; com a ordenação ligada, as chaves são ordenadas por código Unicode em todos os níveis antes de escrever. Os números mantêm a precisão double do JavaScript. O resumo conta chaves e profundidade. Tudo roda nesta aba, então dados privados não saem da sua máquina.

Perguntas frequentes

Formatar muda meus dados?

Não. Só os espaços mudam, mais a ordem das chaves se você ligar a ordenação. Valores e tipos continuam iguais.

Por que meu JSON é inválido?

As causas comuns são vírgula sobrando, aspas simples, comentários, chaves sem aspas e NaN ou undefined. A mensagem diz o problema e a linha e coluna.

Formata JSON com comentários (JSONC)?

Não. Comentários não fazem parte do JSON (RFC 8259) e aparecem como erro. Remova-os antes.

Meu JSON é enviado?

Não. A leitura e a formatação acontecem no navegador; nada é enviado ou guardado.

Fontes

Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/json-formatter/