Caixa de ferramentas JSON
Formatar / minificar / escapar / desescapar — tudo roda no seu navegador.
Resultado
Como usar
- Cole JSON ou qualquer texto à esquerda e escolha uma ação acima: Formatar, Minificar, Escapar ou Desescapar.
- “Indentação” afeta apenas Formatar (2 ou 4 espaços). Os resultados formatados começam expandidos; use as setas ao lado de cada linha para recolher ou expandir objetos e arrays.
- A validação automática aponta a linha e a coluna quando encontra um erro; copie ou baixe o resultado, e use o botão ⇄ ao lado de “Limpar” para movê-lo de volta para a entrada. Essas ações sempre usam o resultado completo, mesmo quando partes estão recolhidas.
Exemplo
Entrada
{"usuario":{"id":42,"nome":"Ana Clara","funcoes":["admin","editora"],"ativo":true},"pontuacao":12345678901234567890}
Formatado
{ "usuario": { "id": 42, "nome": "Ana Clara", "funcoes": [ "admin", "editora" ], "ativo": true }, "pontuacao": 12345678901234567890 }
Apenas as regras padrão: indentação de 2 espaços, chaves na ordem em que você escreveu. A pontuação de 20 dígitos é impressa dígito por dígito — uma ida e volta pelo JSON.parse a transformaria em 12345678901234567000.
Regras, limites e problemas conhecidos
- JSON estrito (RFC 8259): comentários, vírgulas finais, aspas simples, chaves sem aspas, NaN e Infinity são rejeitados, e a mensagem indica a correção em vez de citar o parser.
- Formatar e Minificar mudam apenas os espaços em branco. Escapes de string, literais numéricos e chaves entre aspas são impressos exatamente como digitados: "\u00e9" continua "\u00e9", 12345678901234567890 continua exato, 1e400 não vira null, -0 continua -0.
- Chaves duplicadas mantêm o último valor, como o JSON.parse faz, e um aviso nomeia a chave. O valor anterior é descartado.
- “Escapar” codifica toda a entrada em um único literal de string JSON (aspas, contrabarras e caracteres de controle recebem escape; o resto fica intacto). “Desescapar” aceita uma string completa entre aspas (verificada estritamente) ou sequências de escape soltas.
- Os números de linha e coluna contam pontos de código Unicode, então um emoji é uma coluna. Apenas espaço, tabulação, avanço de linha e retorno de carro contam como espaço em branco; U+3000 ou U+00A0 é reportado com seu ponto de código.
- Limites: 1.000.000 de caracteres e 512 níveis de aninhamento. Acima de qualquer um deles você recebe um erro, nunca um resultado truncado. O envio de arquivo lê apenas o arquivo local — nada é enviado.
- Sem conversão JSON→YAML/XML/CSV, sem JSON Schema, sem JSONPath, sem editor de árvore, sem parâmetros de URL, sem histórico. Tudo roda no seu navegador: nada é enviado ou armazenado.
Ferramentas relacionadas
O que as pessoas costumam precisar depois que o JSON está pronto.