Pack Camo

Comparar Textos: Diff Checker

Compare dois textos e veja cada linha adicionada, removida e alterada. Tudo roda localmente — nada é enviado para servidor nenhum.

Entrada
Two texts or files
Saída
Side-by-side · inline · unified diff

Original

9 linhas

Alterado

9 linhas

Diferenças

+0 adicionada · −0 removida · ~4 alteradas

1Comparador de textos Pack Camo1Comparador de textos Pack Camo223Cole o texto original deste lado.3Cole o texto original deste lado.4A versão alterada vai à direita.4A versão editada vai à direita.5Linhas iguais são recolhidas.5Linhas iguais são recolhidas.667Timeout: 30 segundos7Timeout: 45 segundos8Tentativas: 38Modo: estrito9Modo: estrito9Nível de log: debug

Compare textos e veja exatamente o que mudou

Cole o original à esquerda e a versão alterada à direita, ou solte um arquivo em cada lado, e este comparador de textos alinha os dois e marca cada linha adicionada, removida ou alterada. Dentro de uma linha alterada, as palavras ou caracteres diferentes são destacados, então uma vírgula movida ou um número trocado não se escondem numa frase longa. A comparação roda inteiramente no seu navegador, o que a torna segura para contratos, arquivos de configuração e código que você preferiria não colar no servidor de alguém.

Como comparar dois textos

  1. Cole o texto original na caixa da esquerda e o texto alterado na da direita, ou solte um arquivo de texto em qualquer uma delas.
  2. Leia o resultado abaixo: linhas removidas ficam em vermelho, linhas adicionadas em verde, e as palavras alteradas dentro de uma linha são destacadas.
  3. Alterne entre as visões lado a lado e unificada e ignore espaços, maiúsculas e minúsculas ou linhas em branco quando não importarem.
  4. Use as setas para pular de uma alteração para a próxima.
  5. Copie ou baixe as diferenças como um arquivo .patch padrão para aplicar com git apply ou patch.

Como funciona a comparação

Os textos são comparados linha a linha com o algoritmo de diferenças de Myers, o mesmo por trás do git diff e do GNU diff. Ele encontra a menor lista de inserções e remoções que transforma um texto no outro, o que equivale a encontrar a maior sequência de linhas que os dois têm em comum. Linhas editadas aparecem como uma remoção seguida de uma adição; a ferramenta as emparelha e faz uma segunda comparação, mais fina, dentro de cada par, palavra por palavra ou caractere por caractere, para destacar só a parte que mudou.

Trechos sem alteração são recolhidos, com três linhas de contexto em volta de cada alteração, como numa revisão de código. Clique em um trecho recolhido para abri-lo, ou desligue o recolhimento para ver os dois textos inteiros. Entradas muito grandes ou quase totalmente diferentes continuam sendo comparadas rápido: passado um limite de trabalho, a ferramenta informa a região restante como um bloco único de alterações em vez de buscar o menor diff possível, e avisa isso acima do resultado.

Ignorando espaços, maiúsculas e linhas em branco

Ignorar espaços
Linhas que diferem só em espaços, tabulações ou recuo contam como iguais, como no git diff -w. Útil depois de reformatar código ou reorganizar quebras de texto.
Ignorar maiúsculas
Letras maiúsculas e minúsculas são comparadas como iguais, então um título que passou de Title Case para Sentence case não é marcado.
Ignorar linhas em branco
Alterações que só adicionam ou removem linhas vazias ficam em cinza e não entram nas contagens nem no patch.
Palavras ou caracteres
Escolha o nível de detalhe do destaque nas linhas alteradas: palavras inteiras servem para prosa, caracteres individuais para código, IDs e números.

Visão lado a lado ou unificada

A visão lado a lado coloca o original e o texto alterado em duas colunas com a própria numeração de linhas, alinhadas para que uma linha alterada fique ao lado da nova versão. É a visão mais fácil para ler prosa e linhas longas. A visão unificada mostra uma coluna, com linhas removidas marcadas com - e linhas adicionadas com +, exatamente como um arquivo patch ou um pull request as mostra; funciona melhor em telas estreitas.

As contagens acima do resultado mostram linhas adicionadas, removidas e alteradas. Uma linha alterada é uma que foi editada no lugar; uma linha removida não tem correspondente no novo texto.

Os números de linha dos dois lados se referem aos textos exatamente como você os colou, então você encontra cada alteração no seu próprio editor. As setas acima do resultado percorrem as alterações em ordem e centralizam cada uma; o contador mostra em qual alteração você está.

Arquivos patch e outros formatos

O download é um diff unificado: cabeçalhos --- e +++ com os nomes dos dois arquivos e depois blocos @@ com três linhas de contexto, o formato lido pelo git apply, pelo patch -p1 e por toda ferramenta de revisão de código. Ele marca a falta de quebra de linha no fim de um arquivo do jeito padrão, então aplicar o patch ao original reproduz exatamente o texto alterado.

Para JSON, um diff por linhas muitas vezes é a ferramenta errada: chaves reordenadas ou um arquivo com novo recuo parecem alterações por toda parte. A ferramenta JSON diff compara a estrutura e ignora a ordem das chaves e a formatação. Para contar as palavras de qualquer uma das versões, use o contador de palavras.

Perguntas frequentes

Como comparar dois textos e achar as diferenças?
Cole o texto original na caixa da esquerda e a nova versão na da direita. As diferenças aparecem na hora logo abaixo, com linhas removidas em vermelho, linhas adicionadas em verde e palavras alteradas destacadas.
Posso comparar dois arquivos?
Sim. Solte um arquivo de texto em cada caixa ou cole o conteúdo deles. Qualquer arquivo de texto simples funciona, incluindo código, CSV, Markdown, logs e arquivos de configuração.
Como ignorar diferenças de espaços?
Ative Ignorar espaços. Linhas que diferem só em espaços, tabulações ou recuo passam a ser tratadas como iguais, como no git diff -w.
O que é um diff unificado?
Um diff unificado lista as alterações em blocos que começam com @@, com linhas removidas prefixadas por um sinal de menos, linhas adicionadas por um sinal de mais e algumas linhas de contexto sem alteração. É o formato usado pelo git e pelo comando patch.
Como criar um arquivo patch a partir de dois textos?
Compare os textos e clique no botão de download para salvar um arquivo .patch no formato unificado. Aplique-o ao original com git apply ou patch -p1.
Existe limite de tamanho?
Não há limite fixo. Arquivos com dezenas de milhares de linhas são comparados em uma fração de segundo. Para entradas muito grandes ou completamente diferentes, o destaque de palavras é desligado e o diff pode agrupar alterações em blocos maiores para continuar rápido.
O texto que eu comparo é enviado para algum lugar?
Não. A comparação roda no seu navegador e nada é enviado a um servidor, então é seguro comparar documentos privados e código.