PK Systems
Ferramentas para devs

Formatador de JSON

Formate, minifique e valide JSON no seu navegador. Atualização ao vivo, copiar com um clique — nada sai do seu dispositivo.

Formatador de JSON

Saída

A saída aparece aqui enquanto você digita.

O que essa ferramenta faz?

JSON (JavaScript Object Notation) é o formato mais comum para troca de dados entre APIs, arquivos de configuração e aplicações web modernas. Esta ferramenta faz parse do JSON no seu navegador e o reemite com indentação consistente (Embelezar), retira todos os espaços (Minificar) ou apenas confirma que ele faz parse (Só validar). Usa o JSON.parse nativo do navegador, então o que passa aqui passa em qualquer runtime JavaScript. Nada é enviado para um servidor — todo o pipeline roda localmente.

Como usar

Cole o JSON na caixa de entrada. Escolha Embelezar para uma saída legível (com indentação de 2, 4 ou tab), Minificar para tirar espaços e ganhar tamanho, ou Só validar para checar a sintaxe sem produzir saída. Ative Ordenar chaves A→Z para facilitar diff entre dois arquivos JSON. A saída se atualiza ao vivo conforme você digita. Se a entrada é inválida, a ferramenta mostra a linha e coluna do erro para você ir direto ao problema.

Dicas e limites

  • JSON é rigoroso: chaves precisam estar entre aspas duplas, sem vírgula sobrando no fim, sem comentários. Se seu JSON tem isso, corrija antes.
  • Ordenar as chaves produz saída estável para diff no git e testes de snapshot.
  • Saída embelezada com 2 espaços é o padrão de fato para arquivos de configuração (npm, composer, .vscode/settings.json).
  • Payloads muito grandes (10MB+) funcionam, mas o navegador pode travar durante o parse — minifique respostas de API grandes em produção.
  • Números são parseados pelo JavaScript, que perde precisão acima de 2^53. Se você tem IDs grandes (estilo BigInt), mantenha-os como string.

Perguntas frequentes

Meu JSON é enviado para algum servidor?
Não. Parse, formatação e validação acontecem inteiramente no seu navegador, usando o JSON.parse e JSON.stringify nativos. Abra DevTools > Network e veja: nenhuma requisição é disparada quando você cola ou edita. Seguro para payloads sensíveis, arquivos de configuração internos ou qualquer coisa que você não colaria em um serviço hospedado.
Por que meu JSON aparece como inválido se parece correto?
Os erros mais comuns: aspas simples em vez de aspas duplas em chaves/strings, vírgula sobrando depois do último item de um objeto ou array, ou quebras de linha não escapadas dentro de strings. JSON é mais rigoroso que literais de objeto JavaScript — a mensagem de erro e a linha/coluna acima da saída apontam o byte exato onde o parser desistiu.
Qual a diferença entre Embelezar e Minificar?
Embelezar adiciona quebras de linha e indentação para a estrutura ficar fácil de ler — ideal para edição, code review e debug. Minificar tira todos os espaços opcionais, produzindo a representação válida mais curta — ideal para armazenamento, transporte e embed em atributos HTML ou query strings. Os dois produzem JSON semanticamente idêntico.
O que faz "Ordenar chaves A→Z"?
Percorre toda a árvore do objeto e emite as chaves de cada objeto em ordem alfabética. Arrays mantêm a ordem original (ordenar elementos de array mudaria o significado). Útil para fazer diff entre dois arquivos JSON em que os mesmos dados podem ter sido emitidos com chaves em ordens diferentes por ferramentas diferentes.
Aceita JSON5, JSONC ou comentários?
Não — apenas JSON estrito (RFC 8259). Comentários (// ou /* */), vírgulas finais, aspas simples e chaves sem aspas são todos rejeitados. Se precisa de um dialeto mais frouxo para configs de tooling, faça parse com uma biblioteca JSON5 antes de colar aqui, ou tire os comentários antes. Talvez adicionemos um modo JSON5 no futuro.
Funciona com arquivos JSON muito grandes?
Formata arquivos de até alguns megabytes sem problema. Acima de 10–20 MB, a aba do navegador pode travar brevemente durante o parse, porque JSON.parse é síncrono. Para logs ou exports de centenas de MB, use uma ferramenta de linha de comando em streaming como jq — ela processa JSON como stream e não carrega o arquivo inteiro na memória.