KeroTools

Formatar, Validar e Minificar JSON

Formate, valide ou minifique JSON na hora no seu navegador — o resultado se atualiza ao vivo enquanto você digita.

Entrada
0 caracteres
Saída

Seu texto fica no seu aparelho

Nada para apagar depois

Seguro para respostas vivas

Funciona em todo navegador moderno

Como funciona

  1. 1

    Cole seu JSON

    Jogue ali uma resposta, um arquivo de configuração ou o que te entregaram.

  2. 2

    Leia o resultado ou o erro

    Entrada válida volta indentada; entrada inválida diz em que posição parou.

  3. 3

    Copie o que precisar

    Leve a versão legível para uma revisão, ou a minificada para uma requisição.

Por que usar esta ferramenta

O erro diz onde

Um documento inválido informa a posição em que falhou, então você conserta uma linha em vez de reler o payload inteiro.

Embelezar e minificar nos dois sentidos

Indente para ler, tire tudo para enviar — o mesmo dado no formato que o momento pede.

Inteiros grandes ficam intactos

Identificadores além da faixa segura do JavaScript não são arredondados em silêncio no caminho.

Ordem das chaves preservada

A formatação muda espaços, não estrutura, então um payload assinado ou comparado byte a byte sobrevive.

Nada é enviado

O texto é analisado no seu navegador — uma resposta de API com um token nunca sai da aba.

Grátis e sem conta

Sem cadastro, sem marca d’água e sem limite de quanto você formata.

Você não está aqui pela indentação

As pessoas dizem “formata esse JSON” e querem dizer outra coisa. A indentação é boa, mas o motivo de você ter colado é que algo lá adiante recusou, ou não devolveu nada, ou produziu um valor que você não esperava, e você precisa saber se o documento é sequer válido antes de olhar em qualquer outro lugar. É isso que um formatador de fato responde. Entrada válida volta indentada, e a indentação é a sua confirmação. Entrada inválida volta com uma posição, e essa posição é o produto real. Todo o resto — o espaçamento, a árvore recolhível, as cores — está ali para ajudar você a ler um documento que já estabeleceu que vale a pena ler.

O erro quase nunca está onde a mensagem diz

Um parser informa o primeiro caractere que não consegue entender, que costuma estar um pouco depois do engano e não nele. Esqueça uma vírgula entre dois objetos e o parser lê tranquilo até a chave de abertura do próximo, e então informa um token inesperado ali — apontando uma linha perfeitamente correta. Deixe uma vírgula sobrando e ele informa o colchete de fechamento que vem depois. Esqueça uma chave de fechamento e ele informa o fim do documento, o que não diz quase nada. O hábito que vale construir é ler a posição informada como um limite e não como um alvo: o problema está nela ou antes dela, e o token citado na mensagem é o passante inocente que fez o parser desistir. Olhe o que vem imediatamente antes.

Quatro coisas válidas em JavaScript e inválidas em JSON

Esta é a maior fonte isolada do “mas para mim está certo”. JSON é uma linguagem bem menor que os literais de objeto do JavaScript com que se parece, e quatro hábitos cotidianos produzem documentos que o console do navegador aceita e um parser recusa. Vírgulas sobrando são o mais comum — `{"a": 1,}` passa no JavaScript moderno e é ilegal em JSON. Aspas simples vêm em segundo: chaves e strings devem usar aspas duplas, sempre. Chaves sem aspas são o terceiro, então `{name: "x"}` falha onde `{"name": "x"}` funciona. E comentários são o quarto — JSON não tem, então uma linha `//` explicando um valor de configuração invalida o arquivo inteiro. Se o documento foi escrito à mão ou copiado de código, confira esses quatro antes de tudo, porque juntos eles explicam a maior parte do JSON inválido que as pessoas colam.

Números grandes são onde uma ida e volta perde dados

Este é o sutil e custa tempo real às pessoas. JSON tem um único tipo numérico e nenhum limite de precisão declarado, mas tudo que analisa JSON em JavaScript guarda esses números como doubles, que representam inteiros com exatidão apenas até cerca de nove quatrilhões — 2^53. Além disso, dígitos se perdem. Isso importa porque muitos sistemas cunham identificadores justamente nessa faixa: IDs snowflake de plataformas de chat, algumas sequências de banco e marcações de tempo em nanossegundos produzem inteiros de 18 e 19 dígitos. Analise e reemita um documento assim de forma ingênua e os últimos dígitos mudam, em silêncio, num valor que continua parecendo um identificador plausível. Se o seu payload carrega identificadores numéricos longos, trate-os como strings de ponta a ponta, e não confie em nenhuma ferramenta que os faça passar por números de JavaScript sem avisar.

Embelezar e minificar respondem perguntas diferentes

Produzem o mesmo dado e servem em momentos opostos. JSON embelezado é para uma pessoa: revisar uma resposta de API, conferir uma configuração ou — o mais útil — comparar duas versões, porque o formato de um valor por linha é o que torna um diff legível. JSON minificado é para o fio e para a máquina: tira todo byte que não carrega significado, o que importa num corpo de requisição, numa entrada de cache ou onde o tamanho do payload é contado. O erro que vale evitar é comparar documentos minificados. Dois arquivos minificados que diferem em um valor diferem na sua única linha enorme, e toda ferramenta de diff vai apontar o arquivo inteiro como alterado. Embeleze os dois primeiro e então compare: o diff mostra o único campo que de fato mudou.

Por que formatar localmente importa neste tipo de texto

O JSON que as pessoas colam num formatador quase sempre está vivo: uma resposta de API capturada durante a depuração, um corpo de webhook, um arquivo de configuração, um payload de token. Isso significa que ele carrega o que dado vivo carrega — tokens de portador no eco de um cabeçalho, identificadores de sessão, endereços internos, e-mails de clientes e vez ou outra credenciais num bloco de configuração. Colar isso num formatador hospedado envia cada byte para o servidor de outra pessoa e, ao contrário de um arquivo que você pode apontar, texto colado não deixa rastro de que você fez isso. Esta ferramenta analisa na página: nada é transmitido, o que você pode verificar na aba Rede das ferramentas de desenvolvedor. Para um texto tão frequentemente sensível e tão casualmente colado, essa é a diferença que vale ter por padrão.

Erros comuns que vale evitar

  • Confiar na posição do erro informada. O parser nomeia o primeiro token que não consegue tratar, geralmente logo depois do engano real — leia a posição como um limite e olhe o que vem imediatamente antes.
  • Escrever JSON com hábitos de JavaScript. Vírgulas sobrando, aspas simples, chaves sem aspas e comentários `//` são válidos em JavaScript e inválidos em JSON; confira esses quatro antes de tudo.
  • Fazer ida e volta com IDs numéricos longos. Qualquer coisa acima de cerca de nove quatrilhões perde os últimos dígitos ao ser analisada como número de JavaScript, e o resultado continua parecendo um identificador plausível — carregue-os como strings.
  • Comparar JSON minificado. Ambos os arquivos são uma única linha enorme, então toda ferramenta aponta o documento inteiro como alterado; embeleze os dois primeiro e o diff mostrará o único campo que mudou.
  • Colar uma resposta de API viva num formatador hospedado. Esses payloads carregam rotineiramente tokens, identificadores de sessão e endereços de clientes; formate localmente.

Comparação

ItemEsta ferramentaFormatadores onlineUm plugin de editor
Conteúdo enviado a um servidorNuncaGeralmente simNão
Precisa de configuraçãoNenhumaNenhumaInstalar e configurar
Erros com posição exataSimVariaSim
Funciona sem abrir um projetoSimSimGeralmente não
Conta ou cadastroNão precisaFrequentemente exigidoNão precisa
PreçoGrátisGrátis / planos pagosGrátis / pago

Recursos

Validação ao colar

Você fica sabendo se é analisado antes de fazer qualquer outra coisa com aquilo.

Erros com posição exata

A falha informa onde o parser parou, não só que algo está errado.

Indentação configurável

Dois espaços, quatro ou tabulação, conforme o lugar de volta do arquivo.

Minificar num passo

Espaços retirados para o menor payload que aquele mesmo dado consegue ocupar.

Unicode preservado

Conteúdo árabe, turco, acentuado e com emoji passa sem alteração.

Aguenta documentos grandes

Payloads de vários megabytes formatam sem upload nem fila.

Nada para instalar

Sem plugin de editor, sem runtime, sem dependências — funciona na página web.

Compatível com árabe e RTL

Interface completa em oito idiomas, incluindo árabe da direita para a esquerda.

Seguro por padrão

Servido por HTTPS, sem rastreio de conteúdo e sem envio a terceiros.

Quem usa

Desenvolvedores

Descobrir onde uma resposta quebra sem antes jogá-la num arquivo de rascunho.

Integradores de API

Ler o payload do endpoint de um parceiro antes de escrever qualquer coisa contra ele.

Engenheiros de QA

Comparar duas respostas campo a campo depois de embelezar as duas.

Engenheiros de suporte

Deixar uma configuração enviada pelo cliente legível o bastante para ver o que há de errado.

Perguntas Frequentes

Não. Tudo roda localmente no seu navegador — seu texto nunca é enviado, armazenado ou compartilhado.

Sim — totalmente grátis, sem conta e sem limites.