Comparador de JSON (Diff): Compare Dois Documentos JSON por Caminho, Não por Linha

Se você já colou duas versões de uma resposta de API em uma ferramenta de diff de texto simples e recebeu uma parede de vermelho e verde só porque um lado tinha uma indentação diferente, você já sabe por que comparar JSON como texto não funciona. Um diff estrutural — que realmente entende JSON — é a única forma de ver o que realmente mudou.
O Comparador de JSON da Tooladex faz exatamente isso, instantaneamente no seu navegador. Cole os dois documentos e veja cada diferença real listada por caminho, sem servidor, sem envio, sem conta.
O que é um comparador de JSON (diff)?
Um comparador de JSON (diff) compara dois documentos JSON — uma versão "original" e uma "modificada" — e reporta as diferenças exatas entre eles: quais chaves ou itens de array foram adicionados, quais foram removidos, e quais valores mudaram, identificados pelo seu caminho dentro do documento (como user.address.city ou items[2]).
Diferente de um diff de texto simples, que compara linha por linha e se confunde com JSON reindentado ou reordenado, um diff estrutural de JSON analisa os dois documentos e compara seus dados reais, então diferenças de formatação nunca produzem falsos positivos e cada mudança reportada é uma diferença real nos dados.
Por que um diff de texto não é suficiente
Diferenças de formatação criam falsos positivos
Dois payloads JSON com dados idênticos mas indentação, espaçamento ou ordem de chaves diferentes parecem completamente diferentes para um diff linha por linha, mesmo que nada nos dados reais tenha mudado.
Ele não diz onde está a diferença
Um diff de texto destaca linhas, não a estrutura JSON — ele não vai dizer que a diferença está especificamente em user.address.zip, três níveis abaixo.
Ele não entende tipos
Um diff de texto vê "5" e 5 como texto diferente, o que é verdade — mas ele não pode dizer especificamente que o tipo mudou de string para número, que costuma ser a informação mais útil ao depurar.
Como funciona o Comparador de JSON da Tooladex
Adicione os dois documentos Cole o JSON A (o original) e o JSON B (a versão modificada) diretamente, ou envie um arquivo
.jsonpara qualquer um dos lados.Escolha suas opções Ative "Ignorar a ordem dos arrays" se os elementos de um array puderem ser reordenados sem que isso conte como uma mudança real.
Veja o resultado instantaneamente A ferramenta analisa e compara os dois documentos no navegador enquanto você digita, listando cada valor adicionado, removido e alterado por caminho, com contagens em tempo real para cada categoria.
Copie ou baixe Copie o diff como JSON para a área de transferência ou baixe-o como um arquivo
diff.json.
Sem conta, sem envio, sem esperar por um servidor — a comparação acontece enquanto você digita.
Principais recursos
- Cole JSON diretamente ou envie um arquivo
.jsonpara qualquer um dos lados - Comparação instantânea e ao vivo enquanto você digita, sem precisar clicar em nada
- Comparação estrutural, não baseada em linhas — indentação e ordem das chaves nunca causam diferenças falsas
- Cada mudança reportada com seu caminho exato (ex.:
user.address.cityouitems[2].name) - Distingue valores adicionados, removidos e alterados com resultados codificados por cor
- Modo opcional "Ignorar a ordem dos arrays" para arrays sem uma ordem significativa
- Troca com um clique entre o JSON A e o JSON B
- Contagens em tempo real de valores adicionados, removidos e alterados
- Processamento 100% no navegador para sua privacidade
Casos de uso práticos
Revisar mudanças em respostas de API
Compare uma resposta antes e depois de uma mudança no backend para confirmar que apenas os campos pretendidos foram afetados.
Auditar mudanças em arquivos de configuração
Compare duas versões de um arquivo de configuração JSON para ver exatamente quais configurações mudaram entre implantações.
Depurar por que dois payloads "idênticos" se comportam de forma diferente
Identifique diferenças sutis como uma string versus um número, ou uma chave faltando, fáceis de passar despercebidas a olho nu.
Verificar scripts de migração ou transformação de dados
Compare a entrada e a saída de uma transformação para confirmar que ela mudou exatamente os campos que deveria.
Comparar fixtures de teste ou saída de testes de snapshot
Veja rapidamente o que mudou entre um snapshot JSON esperado e o real quando um teste falha.
Dicas para melhores resultados
- Coloque a versão "antes" no JSON A e a "depois" no JSON B — valores removidos são os presentes em A mas ausentes em B, e adicionados ao contrário, então manter a ordem consistente torna o diff mais fácil de ler.
- Ative "Ignorar a ordem dos arrays" para arrays que representam um conjunto sem ordem (tags, IDs) em vez de uma sequência com significado — caso contrário, um simples reordenamento aparece como uma enxurrada de mudanças não relacionadas.
- Use o botão de troca para verificar um diff nas duas direções quando você não tem certeza de qual documento é o "original".
- Lembre-se de que os caminhos usam notação de ponto para objetos e colchetes para arrays — um caminho como
orders[3].items[0].skusignifica o camposkudo 1º item do 4º pedido. - Compare registros individuais em vez de exportações combinadas enormes quando possível — um diff de um único objeto é muito mais fácil de revisar do que um diff de um dump completo de banco de dados.
Privacidade e segurança
Ambos os documentos JSON são comparados totalmente no seu navegador; nada é enviado para um servidor nem salvo.
Perguntas frequentes
Qual a diferença disso para uma ferramenta de diff de texto comum? Um diff de texto compara linha por linha, então reindentar ou reordenar chaves em um JSON por outro lado idêntico produz um diff enorme e confuso. Esta ferramenta analisa os dois documentos e compara a estrutura de dados real, então apenas diferenças de valor reais são reportadas, independentemente da formatação.
O que significa o caminho em cada resultado?
O caminho mostra exatamente onde no documento está a diferença, usando notação de ponto para chaves de objeto e notação de colchetes para índices de array — por exemplo, user.address.city ou tags[2]. Um caminho vazio significa que a diferença está no nível mais alto do documento.
Por que reordenar um array mostrou muitas mudanças? Por padrão, os itens do array são comparados por sua posição (índice), então mover um item muda o que está em cada posição a partir dali. Ative "Ignorar a ordem dos arrays" se o array representa uma coleção sem ordem.
A ferramenta me diz se o tipo de um valor mudou, não só o valor? Sim. Um valor mudando de string para número, de objeto para array, ou de null para um valor real é reportado como uma diferença "alterada", assim como uma mudança de valor comum.
Posso comparar arrays de objetos, como uma lista de registros? Sim, arrays de objetos são comparados recursivamente — cada objeto em cada posição do array é comparado campo por campo, então você verá exatamente quais campos mudaram dentro de qual item do array.
Vocês armazenam algum dos documentos JSON? Não. Tudo acontece localmente no seu navegador, e nenhum dos documentos é enviado ou salvo.
Existe um limite de tamanho? A comparação roda na memória do seu navegador, então documentos JSON muito grandes (dezenas de megabytes ou mais, ou estruturas muito aninhadas) podem ficar lentos ou usar bastante memória, dependendo do seu dispositivo.
Na próxima vez que um diff de texto simples deixar você olhando para ruído em vez da mudança real, pule essa etapa: cole os dois documentos e veja exatamente o que mudou, por caminho, em segundos.
JSON Diff Checker
Compare two JSON documents and see every added, removed, and changed value by path. Instant, in your browser — no signup, no uploads.