Comparar Texto

Veja exatamente o que mudou entre duas versões.

VisualizaçãoDestaque

O que esta ferramenta faz

Cole uma versão à esquerda e a outra à direita — qual lado é qual fica a seu critério — ou solte um arquivo em qualquer uma das caixas, e as diferenças aparecem no mesmo lugar das caixas: linhas removidas ficam com fundo vermelho à esquerda, linhas adicionadas com fundo verde à direita, e dentro de uma linha alterada as palavras exatas que diferem são marcadas. A comparação por linhas usa a mesma abordagem do git: linhas únicas ancoram as duas versões e o algoritmo de Myers preenche os intervalos, então um log de 100 000 linhas com poucas edições é comparado em fração de segundo no seu próprio dispositivo.

Duas visualizações, três precisões. Lado a lado coloca as versões em duas colunas com seus próprios números de linha; Unificado é o formato de coluna única que o git e as ferramentas de revisão de código usam, com prefixos − e +. A precisão decide como uma linha alterada é destacada: Linha marca a linha inteira, Palavra marca as palavras que diferem (o padrão), Caractere marca caracteres isolados — a escolha certa para hashes, identificadores e números. Nada sai do seu navegador: sem envio, sem link salvo, sem conta.

Como usar

Digite ou cole nas duas caixas, ou clique em Escolher arquivo em qualquer lado; o nome do arquivo aparece no cabeçalho daquele lado e no cabeçalho do diff, então você não precisa lembrar qual arquivo foi para cada lado. O resultado substitui as caixas; Editar as traz de volta, e um clique duplo em uma linha do resultado vai direto para essa linha para edição. Trocar inverte os dois lados, Carregar exemplo preenche ambos com uma configuração curta para você ver como fica um resultado. A barra abaixo das caixas tem as chaves: Ignorar maiúsculas trata A e a como iguais; Ignorar espaços condensa sequências de espaços e tabulações e ignora brancos no início e no fim, o que você quer para código reformatado; Só mudanças dobra sequências de linhas idênticas em três linhas de contexto de cada lado, com uma barra que você clica para desdobrar.

A linha acima do resultado conta linhas adicionadas e removidas e o número de blocos de mudança. ‹ › pulam de um bloco para o próximo — n e p fazem o mesmo pelo teclado quando o resultado está em foco — e o bloco em que você chega ganha uma marca amarela na coluna de números de linha. Copiar diff coloca um unified diff padrão na área de transferência; Baixar .diff salva o mesmo texto como arquivo que git apply ou patch conseguem aplicar. Textos com mais de 2 MB no total passam a usar um botão Comparar em vez de atualizar a cada tecla.

Quais arquivos ela compara

Qualquer um que por baixo seja texto. Documentos e anotações: .txt, .md, .rtf como texto puro, e legendas .srt ou .vtt. Exportações de dados: dois arquivos JSON, dois CSV ou TSV, XML e YAML — o jeito rápido de ver o que mudou entre duas respostas de API ou dois dumps de banco de dados. Configuração: .ini, .toml, .env, .properties, .conf, um Dockerfile, uma configuração de nginx ou Apache, para que o ajuste que quebrou o deploy salte aos olhos. Código-fonte em qualquer linguagem: .js, .ts, .py, .go, .java, .c, .cpp, .rs, .php, .sql, .sh, além de .html e .css. Patches e logs: .diff, .patch, .log. Word, PDF e Excel não são texto — o conteúdo vai dentro de um contêiner binário — então aqui são recusados em vez de aparecer como lixo; exporte antes para texto puro ou CSV.

O que vale saber

Um diff é uma escolha, não um fato: quando um bloco de linhas pode ser explicado como movido ou como removido e adicionado de novo, qualquer algoritmo escolhe uma leitura, e duas ferramentas podem mostrar a mesma edição de formas diferentes. Esta ferramenta prefere a leitura que mantém as linhas únicas alinhadas, que é o que as pessoas esperam do git. Ignorar espaços compara as linhas com os brancos condensados, mas ainda mostra o espaçamento original no resultado. Linhas isoladas muito longas — um pacote JavaScript minificado, uma exportação JSON em uma única linha — são comparadas como linhas inteiras acima de 4000 caracteres, porque comparar palavra por palavra uma linha de 200 KB não diz nada que dê para ler. A tabela de resultados mostra até 8000 linhas; além disso, use Só mudanças ou baixe o .diff, que é sempre completo. Os arquivos são verificados antes de carregar: qualquer um com conteúdo binário, ou acima de 20 MB, é recusado com uma mensagem em vez de ser exibido como lixo.

Contexto: de onde vem o diff

O programa diff chegou com o Unix em 1974, escrito por Douglas McIlroy e James Hunt, e seu formato de saída — linhas com prefixo < e > — ainda é o que o comando diff imprime. O formato unificado, com prefixos − e + e cabeçalhos de bloco @@, foi introduzido por Wayne Davison em 1990 e adotado pelo GNU diff; virou a língua dos patches: é o que git show, os pull requests do GitHub e toda ferramenta de revisão de código exibem. Eugene Myers publicou o algoritmo de diferenças O(ND) em 1986; ele encontra o roteiro de edição mais curto e é o núcleo do GNU diff, do git e da maioria dos editores. Bram Cohen descreveu a variante patience por volta de 2004 — ancorar nas linhas que aparecem exatamente uma vez em cada lado e depois comparar os intervalos — porque produz resultados mais fáceis de ler em código real. Esta ferramenta usa ancoragem patience com Myers dentro dos intervalos, e grava o formato unificado para copiar e baixar.

Onde é usada

Conferir o que um colega mudou em um contrato ou em uma política antes de aprovar; comparar duas exportações de uma configuração para achar o ajuste que quebrou o deploy; comparar dois logs de uma execução que funcionou e de uma que falhou; revisar um arquivo gerado contra a versão anterior; verificar se uma tradução manteve todas as linhas do original. Se você quer contagens e não diferenças, o Contador de palavras informa palavras, caracteres e tempo de leitura; para textos que só diferem na escrita, o Conversor de chinês converte entre simplificado e tradicional antes de comparar. Um .diff baixado aqui se aplica com git apply ou patch em qualquer sistema.

Perguntas frequentes

Meu texto é enviado para algum lugar?

Não. A comparação roda no seu navegador e nada é enviado, salvo ou vinculado. Feche a aba e acabou.

O que exatamente faz Ignorar espaços?

Sequências de espaços e tabulações contam como um único espaço e os brancos no início e no fim de cada linha são descartados na comparação. O resultado ainda mostra o espaçamento original. Mudanças só de indentação somem do diff.

Posso comparar dois arquivos em vez de colar?

Pode. Clique em Escolher arquivo em cada lado ou solte um arquivo na caixa. Qualquer arquivo de texto serve — .txt, .md, .json, .csv, .log, código-fonte. Arquivos binários e acima de 20 MB são recusados.

Quais tipos de arquivo posso comparar?

Qualquer arquivo de texto: .txt, .md, .json, .csv, .xml, .yaml, .ini, .env, .log, .diff e código-fonte em qualquer linguagem. Word, PDF e Excel são contêineres binários e são recusados: exporte antes para texto puro ou CSV.

O que é o .diff que posso baixar?

Um unified diff padrão, o formato que o git e o patch usam. git apply mudancas.diff sobre o arquivo original produz a versão alterada.

Por que o destaque muda quando troco para Caractere?

A precisão Palavra marca palavras inteiras; a precisão Caractere marca os caracteres específicos que diferem. Em um identificador ou hash alterado a visão por caractere é mais justa; em prosa, a por palavra é mais fácil de ler.