Comparador de textos (diff) — compare dois textos ou arquivos JSON lado a lado
Compare duas versões de um texto, código ou arquivo JSON e veja exatamente quais linhas, palavras e caracteres mudaram.
Encontrou um problema ou algo que poderia ser melhor? Lemos todas as mensagens e corrigimos rápido.
Este comparador de textos grátis compara dois textos e mostra o que mudou, linha por linha, com as palavras ou caracteres alterados destacados dentro de cada linha. Use-o para comparar duas minutas de um contrato, duas versões de um arquivo de configuração, um artigo editado com o original ou duas respostas de uma API. Alterne entre as visualizações lado a lado e unificada e ignore espaços em branco ou maiúsculas/minúsculas quando essas diferenças não importarem.
O modo JSON interpreta os dois lados e compara os dados, e não o texto, então chaves reordenadas não são apontadas como alterações e cada diferença real é listada pelo caminho, como $.scripts.dev alterado de “next dev” para “next dev -p 3300”. Os dois textos ficam no seu navegador. O diff usa o algoritmo de Myers (o mesmo do git diff e do GNU diff) e roda com limite de tempo, então colar dois arquivos de 5.000 linhas não trava a página; entradas que diferem em quase tudo são informadas como diferentes demais, em vez de ficarem processando para sempre.
Como usar
- Cole o texto original à esquerda e o texto alterado à direita. A comparação acontece enquanto você digita.
- Veja a contagem de linhas adicionadas e removidas e depois percorra as linhas destacadas. Vermelho é removido, verde é adicionado; o destaque mais escuro marca as palavras exatas que mudaram.
- Ative Ignorar espaços em branco para código reindentado, ou Ignorar maiúsculas/minúsculas se a capitalização não importar.
- Mude para o modo JSON para comparar dois documentos JSON pela estrutura e obter uma lista dos caminhos alterados.
- Copie ou baixe o resultado como um diff simples, ou clique em Inverter lados para inverter a comparação.
Perguntas frequentes
Como comparo dois textos para achar as diferenças?
Cole uma versão na caixa Original e a outra na caixa Alterado. As linhas removidas aparecem em vermelho, as adicionadas em verde, e as que mudaram nas duas cores, com as palavras alteradas destacadas. Trechos sem alteração são recolhidos para você pular de uma mudança a outra; desative Recolher linhas inalteradas para ver tudo.
Qual é a diferença entre o diff lado a lado e o unificado?
O lado a lado coloca as duas versões em colunas paralelas, o que é mais fácil de ler em textos corridos e linhas curtas. O unificado mostra uma coluna, com as linhas removidas marcadas com − e as adicionadas com +, que é o formato usado pelo git e por arquivos de patch e funciona melhor em telas estreitas. As duas visualizações mostram as mesmas alterações.
Posso comparar arquivos JSON ignorando a ordem das chaves?
Sim. Mude para o modo JSON. Os dois lados são interpretados, e os objetos são comparados chave por chave, independentemente da ordem em que as chaves aparecem, enquanto os arrays são comparados posição por posição, porque a ordem num array geralmente tem significado. Você recebe uma tabela com todos os caminhos adicionados, removidos e alterados, mais um diff por linha dos dois documentos reindentados com as chaves ordenadas.
O que faz a opção de ignorar espaços em branco?
Ela trata qualquer sequência de espaços e tabulações como um único espaço e ignora os espaços no início e no fim das linhas ao decidir se duas linhas são iguais. Isso esconde mudanças de indentação e espaços no fim das linhas, o que é útil quando o código foi reformatado. As linhas continuam sendo exibidas exatamente como você as colou.
Existe limite de tamanho?
Não há limite fixo. Arquivos de vários milhares de linhas são comparados em bem menos de um segundo num notebook, e longos trechos de linhas inalteradas são recolhidos para a página continuar rápida. Se duas entradas grandes diferirem em quase todas as linhas, a comparação para depois de alguns segundos e avisa você, em vez de travar a aba.
Meu texto é enviado para algum lugar?
Não. A comparação roda em JavaScript no seu navegador, e nada do que você cola é enviado a um servidor ou armazenado. Isso a torna adequada para contratos, código-fonte e arquivos de configuração com segredos, embora continue valendo o cuidado de sempre com o que você cola em qualquer site.
Como um diff é calculado
Um diff encontra a maior sequência de linhas que as duas versões têm em comum, na ordem, e informa todo o resto como removido ou adicionado. Esta ferramenta usa o algoritmo O(ND) de Eugene Myers, de 1986, por meio da biblioteca jsdiff: ele é rápido quando os dois textos são parecidos (D, o número de diferenças, é pequeno) e mais lento à medida que eles divergem, e é por isso que há um limite de tempo.
Uma linha alterada é, na verdade, uma linha removida seguida de uma linha adicionada. Quando um bloco de remoções fica ao lado de um bloco de adições, a ferramenta os emparelha linha a linha e roda um segundo diff, mais fino, dentro de cada par, no nível da palavra ou do caractere. O nível de palavra serve para textos corridos e a maior parte do código; o nível de caractere mostra com precisão um erro de digitação de uma letra ou um dígito alterado.
Usos típicos
• Contratos e políticas: veja exatamente quais cláusulas a outra parte editou, sem depender do resumo de alterações dela.
• Edição de conteúdo: compare um artigo publicado com a revisão do editor antes de aprová-la.
• Configuração: compare um arquivo de configuração que funciona com um que não funciona, ou o arquivo de ambiente de homologação com o de produção.
• Respostas de API: cole duas respostas JSON no modo JSON para ver quais campos mudaram entre as versões.
• Listas: compare duas exportações de endereços de e-mail ou SKUs. Ordene as duas antes com o limpador de texto para que a ordem não gere ruído.
Ferramentas grátis relacionadas
- Limpador de texto — Remova quebras de linha, espaços extras, duplicatas e caracteres invisíveis, ordene linhas e use localizar e substituir, tudo de uma vez.
- Formatador de JSON — Formate, minifique e valide JSON, com erros de parsing localizados por linha e coluna. No seu navegador, sem upload.
- Conversor de maiúsculas e minúsculas — Alterne seu texto entre doze estilos com um clique, de MAIÚSCULAS e Tipo frase a camelCase, snake_case e kebab-case.
- Contador de palavras — Conte palavras, caracteres, frases e tempo de leitura e confira os limites do X, LinkedIn, Instagram, YouTube, SEO e SMS enquanto digita.