Comparador de Textos

Compare dois textos linha a linha e veja exatamente o que foi acrescentado, removido ou deixado como estava.

Roda inteiramente no seu navegador. Nada é enviado, registrado ou armazenado.

Cole duas versões de um texto e veja o que mudou entre elas, linha a linha. A comparação acontece no seu navegador: nenhum dos textos é enviado a lugar nenhum.

Como funciona

Os dois textos são divididos em linhas e casados por meio de uma maior subsequência comum — a mesma ideia por trás do diff de um sistema de controle de versão. As linhas que aparecem nos dois, na mesma ordem, são mostradas como inalteradas; todo o resto é uma adição ou uma remoção.

Os fins de linha são normalizados antes, então o mesmo arquivo salvo no Windows e no Linux compara como idêntico, e não como se cada linha tivesse mudado. Uma linha substituída aparece como uma remoção seguida de uma adição, porque é isso que ela é.

Os blocos idênticos no começo e no fim são casados antes da comparação propriamente dita, e é por isso que uma mudança de uma linha em um arquivo longo é instantânea. Dois textos que quase nada compartilham são o caso caro, e a partir de certo tamanho a ferramenta diz isso em vez de travar a sua aba.

Exemplos

Caso Entrada Resultado
Uma linha alterada em três alpha / beta / gamma against alpha / BETA / gamma 1 added, 1 removed

Perguntas frequentes

O meu texto sai do navegador?

Não. A comparação roda localmente em JavaScript, e nada é enviado, registrado ou armazenado. Também não há link de compartilhamento para esta ferramenta, porque um link teria de carregar os dois textos na URL — onde eles acabariam no histórico do navegador e nos logs do servidor.

Por que ele compara linhas em vez de palavras?

Porque é isso que torna um diff legível para as coisas que as pessoas comparam: configuração, código, contratos. Um diff por palavra de um parágrafo reformatado marca quase toda palavra como alterada e não diz nada.

O que exatamente ignorar espaços ignora?

Sequências de espaços e tabulações são reduzidas a um único espaço e as pontas de cada linha são aparadas, então reindentar um bloco não é relatado como reescrita. Isso não remove os espaços por completo: "a b" e "ab" continuam sendo linhas diferentes.

Há um limite de tamanho?

Cinco mil linhas de cada lado, e a parte que de fato difere pode abranger no máximo 1200 linhas de cada lado. O segundo limite é o que aperta em dois textos sem relação; a ferramenta recusa em vez de esgotar a memória.

Bom saber

  • A comparação roda no seu navegador. Nada do que você cola é enviado, registrado ou armazenado, e o servidor nunca é chamado para comparar coisa alguma.
  • Isso também significa que a ferramenta precisa de JavaScript. Sem ele não há comparação nenhuma, em vez de uma comparação que acontece em outro lugar.

Todas as ferramentas de Código