Formatador JSON

Formate JSON com recuo de dois espaços ou minifique removendo os espaços em branco fora das strings. A escrita dos números, as sequências de escape e a ordem das chaves são preservadas. Há também conversão para parâmetros de URL e escape de texto.

Funciona localmente no seu navegador

Preparar um JSON para leitura ou cópia

Cole uma resposta de API ou um valor JSON isolado. Objetos, arrays, strings, números, booleanos e null são aceitos na formatação.

Cole o texto diretamente: não há upload de arquivos nem busca de URLs remotas; a formatação e as conversões de texto ocorrem no navegador, e entradas grandes dependem da memória dele.

  1. Insira o JSON no campo de origem para ver a prévia formatada.
  2. Escolha formatar ou minificar e confira a saída.
  3. Copie o resultado; em caso de erro de sintaxe, verifique a linha e a coluna indicadas.

Precisão numérica, parâmetros e fragmentos de texto

A escrita do número permanece intacta

Formatação e minificação preservam 9007199254740993, 1.234567890123456789, 1e400, -0 e 1.2300, incluindo zeros finais e notação exponencial. Outro programa ainda pode perder precisão ao interpretar esses textos como números de ponto flutuante.

Chaves repetidas, como em {"a":1,"a":2}, permanecem na saída, mas podem ser interpretadas de maneiras diferentes pelo destino. A conversão para parâmetros rejeita chaves duplicadas no nível raiz.

Um parâmetro para cada propriedade da raiz

A conversão exige um objeto. Strings viram seu texto decodificado; null gera um valor vazio. Booleanos e números viram texto, mantendo a escrita numérica. Arrays e objetos aninhados viram strings JSON minificadas, sem caminhos com colchetes.

{"q":"a b&c","user":{"id":9007199254740993}} resulta em q=a+b%26c&user=%7B%22id%22%3A9007199254740993%7D. A saída já usa codificação de formulário para URL: espaços viram + e caracteres reservados recebem codificação percentual. Não codifique novamente; o ? inicial não é incluído.

Escape e unescape sem aspas externas

O escape aceita texto livre e conserva espaços no início e no fim. Duas linhas, A e B, geram o fragmento literal A\nB. Para desfazer o escape, forneça esse fragmento sem aspas duplas externas. Tabulações e controles também são escapados; sequências inválidas, como \q, são rejeitadas no unescape.

Dúvidas sobre sintaxe e conversão JSON

A validação confere campos obrigatórios?

Não. A verificação é de sintaxe, sem JSON Schema ou correção automática. Comentários, vírgulas finais, chaves sem aspas duplas, undefined, NaN e Infinity são rejeitados.

A conversão Unicode sempre recupera o texto original?

Não. Unidades UTF-16 não ASCII viram tokens \uXXXX; caracteres suplementares usam pares substitutos. A decodificação mantém tokens malformados, mas transforma um \u0041 literal em A. Misturar escapes existentes e Unicode pode alterar o texto na ida e volta. Essa operação não valida JSON.

Ferramentas recentes: