Comparar dois textos

Diferenças destacadas linha a linha. Grátis, sem upload. 1 GB máx. · Até 1 GB · Processado localmente, nunca enviado para um servidor.

Duas versões do mesmo texto e sempre a mesma pergunta: o que é que mudou. Ler as duas lado a lado resulta numa página, não num contrato de quinze páginas devolvido pela outra parte com “uns pequenos acertos”. Esta ferramenta recebe a versão de origem à esquerda e a versão alterada à direita, e apresenta a lista das linhas retiradas e das linhas acrescentadas.

A comparação assenta na procura da subsequência comum mais longa, calculada sobre as linhas. Tudo o que os dois textos partilham fica no lugar, recuado; o resto aparece com um sinal menos para o original e um sinal mais para a versão nova. O cabeçalho do resultado dá o número de linhas acrescentadas e retiradas, e diz explicitamente quando os dois textos são afinal idênticos.

As duas caixas enchem-se por colagem: não há importação de ficheiro nem conta de utilizador. O cálculo decorre inteiramente dentro do separador do navegador, com uma consequência direta — consome a memória da sua própria máquina, e um limite de dimensão protege o navegador contra comparações desmesuradas. O botão de comparação repete o cálculo tantas vezes quantas forem precisas.

Como utilizar

  1. Cole a versão de origem à esquerda A caixa da esquerda é a referência: as supressões marcadas com um sinal menos são as linhas que ela tem e a outra não.
  2. Cole a versão alterada à direita A caixa da direita fornece as linhas acrescentadas. Trocar as duas caixas inverte o sentido de leitura de todo o resultado.
  3. Parta o texto em linhas curtas A comparação trabalha sobre linhas inteiras: um bloco colado de uma assentada volta inteiramente retirado e a seguir inteiramente acrescentado, o que não informa coisa nenhuma.
  4. Prima Executar O resultado aparece por baixo das duas caixas, num quadro com deslocamento próprio, cujo título traz a contagem de linhas acrescentadas e retiradas.
  5. Percorra os blocos coloridos As linhas comuns aparecem apenas recuadas dois espaços; as retiradas e as acrescentadas ficam com cor. Uma linha alterada aparece duas vezes, uma de cada lado.

O algoritmo utilizado

Os dois textos são partidos nas mudanças de linha e a página calcula a subsequência comum mais longa por programação dinâmica: uma tabela de inteiros de 32 bits com (n+1) por (m+1) posições é preenchida a partir do fim, guardando cada célula o comprimento da mais longa série de linhas comuns que ainda falta percorrer. O caminho é depois refeito desde o princípio para produzir a sequência de operações que verá no ecrã.

O custo é proporcional ao produto dos dois números de linhas, tanto em tempo como em memória. Uma guarda recusa a comparação quando esse produto passa dos quatro milhões, com uma mensagem a dizer que os textos são demasiado longos para a comparação linha a linha e a situar o limite em cerca de duas mil linhas de cada lado. O limite incide sobre o produto, não sobre cada texto: duas mil linhas contra duas mil passam, quinhentas contra oito mil passam também, e a tabela ocupa nesse ponto cerca de 15 MB. Quando as duas direções empatam, a supressão é emitida antes do acrescento, e é por isso que uma linha alterada surge como uma linha retirada seguida daquela que a substitui.

A granularidade: a linha, não a palavra

Duas linhas só são dadas como iguais se as cadeias coincidirem exatamente. Uma vírgula, uma maiúscula ou um espaço esquecido no fim da linha bastam para a linha inteira divergir. Não há realce da palavra alterada dentro da linha, nem opção para ignorar a caixa ou os espaços.

Preparar o texto é, por isso, decisivo. Um contrato colado em três parágrafos enormes dá três linhas e um resultado inútil; o mesmo contrato com uma cláusula por linha dá uma comparação legível, onde só as cláusulas mexidas se destacam. Acrescentar uma mudança de linha a seguir a cada ponto final, antes de colar, muda tudo. Partir palavra a palavra, pelo contrário, faz a tabela crescer muito depressa e vai direito à guarda de dimensão: dois textos de dez mil palavras dariam cem milhões de células, vinte e cinco vezes acima do que é aceite.

As diferenças que o olho não vê

A surpresa mais frequente é esta: está tudo assinalado como alterado e os dois textos parecem iguais no ecrã. A causa é quase sempre um carácter invisível. A divisão é feita apenas no avanço de linha, pelo que um ficheiro guardado no Windows mantém um retorno de carro no fim de cada linha e, comparado com o mesmo texto em fins de linha Unix, diverge em todo o lado de uma só vez.

O mesmo efeito vem de um espaço inquebrável deixado por um processador de texto, de um apóstrofo curvo (’) confrontado com um direito ('), de um travessão (—) contra dois hífenes, ou de um espaço a arrastar no fim da linha. O texto extraído de um PDF traz armadilhas próprias: translineação herdada da paginação, ligaduras, mudanças de linha que seguem a coluna em vez de seguirem as frases. Na dúvida, faça passar as duas versões por um editor de texto simples antes de as colar aqui.

Onde esta ferramenta serve, e onde não serve

Compensa num contrato devolvido com alterações, em dois estados de uma dissertação antes e depois da leitura do orientador, num modelo de carta retocado por um colega, ou para confirmar que uma tradução ainda acompanha a última revisão do original.

Serve menos noutros casos. Para um documento Word, a comparação embutida no processador de texto lê a estrutura do ficheiro e as marcas de revisão, que copiar e colar destrói pelo caminho. Para código sob controlo de versões, um diff dedicado mostra contexto e histórico. Para dois PDF, é preciso extrair o texto primeiro. E esta ferramenta não funde nada: mostra as diferenças sem produzir uma versão consolidada, e não tem botão de exportação.

Perguntas frequentes

Porque é que o meu texto inteiro sai retirado e logo a seguir reposto?

Porque não tem mudança de linha nenhuma e forma, portanto, uma única linha, julgada diferente em bloco. Insira uma mudança de linha a seguir a cada frase ou a cada cláusula, nas duas caixas, e lance outra vez a comparação.

Uma linha onde mudei uma única palavra aparece duas vezes.

É o comportamento esperado: a comparação nunca desce abaixo da linha. Vê a versão antiga marcada com um menos e depois a nova marcada com um mais, e cabe-lhe a si localizar a palavra que difere.

Aparece a mensagem de textos demasiado longos. E agora?

O produto dos dois números de linhas passou dos quatro milhões. Compare capítulo a capítulo, ou parte a parte: dois blocos de mil linhas cada um passam sem dificuldade e o resultado é bem mais fácil de ler.

Os dois textos parecem iguais e mesmo assim está tudo assinalado.

Procure os caracteres invisíveis: retornos de carro de um ficheiro Windows, espaços inquebráveis vindos de um processador de texto, apóstrofos tipográficos, espaços no fim da linha. Uma passagem por um editor de texto simples neutraliza-os todos.

É possível ignorar a caixa das letras ou a pontuação?

Nenhuma opção o permite, porque a comparação é estritamente literal. Se for só a caixa que não lhe interessa, passe os dois textos por minúsculas no conversor de maiúsculas do site antes de os colar aqui.

O resultado pode ser transferido?

Não há botão de exportação: o relatório é mostrado num quadro com deslocamento próprio que pode selecionar e copiar. A entrada deixada no histórico local retém apenas o número de linhas acrescentadas e retiradas, nunca o conteúdo delas.

Posso comparar dois textos confidenciais sem os enviar para um servidor?

Pode: o cálculo decorre inteiramente dentro do separador do navegador e nenhum dos dois textos é transmitido. As caixas enchem-se apenas por colagem, sem importação de ficheiro e sem conta de utilizador. A contrapartida é que a comparação consome a memória da sua própria máquina, e daí a guarda de dimensão que recusa textos demasiado grandes.

Consigo comparar duas versões de um contrato em Word aqui?

Só copiando o texto das duas versões para as caixas, e a colagem deixa pelo caminho a formatação, a estrutura do documento e as marcas de revisão. Para um ficheiro .docx, a comparação embutida no Word ou no LibreOffice Writer lê a estrutura do ficheiro e dá um resultado mais fiel. Esta página é indicada quando o que quer comparar é mesmo o texto — uma cláusula por linha, para que só as cláusulas mexidas se destaquem.

A ferramenta produz uma versão final com as alterações já integradas?

Não. Mostra as diferenças e mais nada: não há fusão das duas versões, não há aceitação de alterações uma a uma e não sai daqui um texto consolidado. A reintegração faz-se à mão no seu editor, a partir das linhas marcadas com um sinal menos e com um sinal mais.

Ferramentas semelhantes

Descobrir outras ferramentas

Categorias