CodeKitHub
Português
Ferramentas de texto

Text Diff — Comparar dois textos online

Cole duas versões de um texto e veja exatamente o que mudou: as linhas adicionadas ficam destacadas a verde, as linhas removidas a vermelho e as linhas inalteradas no contexto — da mesma forma que o Git e as ferramentas de revisão de código mostram as diferenças. Tudo fica no seu navegador.

O que é esta ferramenta?

Uma ferramenta de comparação (diferenças) compara dois textos e apresenta o conjunto mínimo de alterações necessárias para transformar um no outro. É assim que os sistemas de controlo de versões, como o Git, apresentam as alterações no código, e é igualmente útil para comparar arquivos de configuração, contratos, artigos ou quaisquer duas versões de qualquer coisa.

Esta ferramenta compara linha a linha utilizando a mesma família de algoritmos subjacente (subseqüência comum mais longa) que os utilitários clássicos de comparação, pelo que o resultado se assemelha a uma revisão de código habitual: + para linhas adicionadas, − para linhas removidas.

Por que usar?

  • Veja o que realmente mudou entre duas versões, em vez de as comparar a olho nu.
  • Formato de saída familiar ao estilo do Git: adições a verde, eliminações a vermelho e linhas de contexto entre elas.
  • Resumo da contagem de linhas adicionadas e removidas num relance.
  • Funciona com qualquer tipo de texto — código, arquivos de configuração, documentos, listas.
  • Privado: ambos os textos permanecem no seu navegador, nada é enviado.

Como usar

  1. Cole o texto original na caixa da esquerda.
  2. Cole a versão alterada na caixa à direita.
  3. Clique em «Comparar».
  4. Veja o resultado: as linhas verdes foram adicionadas, as linhas vermelhas foram removidas e as linhas simples mantêm-se inalteradas.

Exemplo

Entrada

Original:
line one
line two
line three

Changed:
line one
line 2
line three

Resultado

  line one
− line two
+ line 2
  line three

A linha do meio foi alterada, o que o diff mostra como a remoção da linha antiga e a adição da nova.

Casos de utilização comuns

  • Revisão de um parágrafo reescrito pela IA: cole o texto original e a versão da IA para ver exatamente quais as frases que foram alteradas, em vez de ter de reler tudo para identificar as alterações.
  • Ao comparar duas versões preliminares de um contrato: as alterações jurídicas são frequentemente mais fáceis de analisar através de uma comparação de linhas do que através das «alterações marcadas», quando o documento foi reformatado entre versões.
  • Verificar um arquivo de configuração após uma implementação: cole o conteúdo do arquivo .env ou YAML antes e depois da alteração para confirmar que apenas as linhas pretendidas foram alteradas.
  • Comparar revisões do texto traduzido: ver quais as linhas em que um tradutor ou editor interveio efetivamente entre as diferentes versões.

Limitações a ter em conta

Trata-se de uma comparação ao nível da linha, não ao nível da palavra — se mover um parágrafo do início para o fim de um documento sem alterar o seu texto, isso é apresentado como uma eliminação total mais uma adição total, e não como uma anotação de «movido». No caso de textos com muitos parágrafos, em que apenas algumas palavras mudam por frase, uma ferramenta de comparação ao nível da palavra destacaria menos texto, mas a comparação ao nível da linha é o padrão para código, configurações e documentos estruturados, e é nisso que esta ferramenta se concentra.

Como funciona o algoritmo de comparação

A ferramenta identifica a subsequência comum mais longa (LCS) entre os dois textos — o maior conjunto de linhas que aparecem na mesma ordem relativa em ambas as versões, mesmo que outras linhas tenham sido inseridas ou removidas entre elas. Tudo o que consta nessa subsequência comum é apresentado como contexto inalterado; tudo o resto é classificado como removido (presente apenas no original) ou adicionado (presente apenas na nova versão). Este é o mesmo algoritmo central subjacente ao utilitário «diff» do Unix e à comparação linha a linha do Git, razão pela qual o formato de saída lhe parecerá imediatamente familiar se já tiver revisto um pedido de integração.

Uma consequência prática: se uma linha estiver duplicada noutro local do documento (o mesmo texto exato aparece duas vezes), o algoritmo associa-a à ocorrência que mantém a diferença global mais pequena — o que, por vezes, resulta num emparelhamento ligeiramente diferente do que se esperaria intuitivamente, embora as contagens finais de linhas adicionadas/removidas sejam sempre precisas, independentemente de qual das duplicatas tenha sido associada a qual.

Perguntas frequentes

A comparação é feita palavra a palavra ou linha a linha?

Linha a linha, tal como no `git diff`. Uma linha alterada é apresentada como uma remoção mais uma adição. As comparações ao nível da linha são o padrão para código e configurações e mantêm-se legíveis mesmo em textos extensos.

Por que é que uma pequena alteração faz com que toda a linha apareça como alterada?

Uma vez que a unidade de comparação é a linha — qualquer alteração dentro dela afeta toda a linha. Divida parágrafos longos em linhas mais curtas, se precisar de uma granularidade mais precisa.

Os espaços em branco são importantes?

Sim. As linhas têm de corresponder exatamente; por isso, um espaço à direita ou uma indentação diferente fazem com que as linhas sejam consideradas diferentes. Isto é intencional — as diferenças nos espaços em branco são diferenças reais no código e nas configurações.

Existe algum limite de tamanho?

Não há um limite rígido, mas textos muito extensos (dezenas de milhares de linhas) podem demorar algum tempo, uma vez que a comparação é efetuada localmente no seu dispositivo.

Os meus textos foram carregados para comparação?

Não. O algoritmo de comparação é executado inteiramente no seu navegador, através de JavaScript. Ambos os textos permanecem no seu dispositivo — o que garante a segurança de contratos, documentos internos e código ainda não publicado.

Ferramentas relacionadas