Formatar, Validar e Minificar JSON
Formate, valide ou minifique JSON na hora no seu navegador — o resultado se atualiza ao vivo enquanto você digita.
Seu texto fica no seu aparelho
Nada para apagar depois
Seguro para respostas vivas
Funciona em todo navegador moderno
Como funciona
- 1
Cole seu JSON
Jogue ali uma resposta, um arquivo de configuração ou o que te entregaram.
- 2
Leia o resultado ou o erro
Entrada válida volta indentada; entrada inválida diz em que posição parou.
- 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
| Item | Esta ferramenta | Formatadores online | Um plugin de editor |
|---|---|---|---|
| Conteúdo enviado a um servidor | Nunca | Geralmente sim | Não |
| Precisa de configuração | Nenhuma | Nenhuma | Instalar e configurar |
| Erros com posição exata | Sim | Varia | Sim |
| Funciona sem abrir um projeto | Sim | Sim | Geralmente não |
| Conta ou cadastro | Não precisa | Frequentemente exigido | Não precisa |
| Preço | Grátis | Grátis / planos pagos | Grá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.