🔧Toolify

Ferramenta de Diff de Texto (comparação linha a linha, com código de

Cole uma versão original e uma revisada para ver um diff linha a linha. Útil para documentos, configurações, revisão de código e edição de textos.

Cole as duas versões para ver o diff.

Como funciona

Como o diff é calculado

Usamos o algoritmo de Maior Subsequência Comum (LCS) para encontrar quais linhas são compartilhadas entre as duas versões. Linhas que aparecem nas duas são 'inalteradas'. Linhas apenas no original são 'removidas'. Linhas apenas na versão revisada são 'adicionadas'. O resultado é uma comparação anotada com números de linha preservados em ambos os lados.

LCS é a abordagem padrão usada pelo git e pela maioria das ferramentas de diff. Ela escolhe a maior sequência de correspondências possível, que geralmente corresponde ao que um humano chamaria de 'o mesmo parágrafo'. Para entradas muito grandes (10.000+ linhas) o tempo de execução cresce quadraticamente; se precisar comparar logs grandes, use uma ferramenta de diff em streaming.

Para que isso é útil

Revisões de documentos: veja exatamente o que mudou entre rascunhos. Útil para contratos, termos de serviço e qualquer texto onde 'o que mudou?' importa.

Arquivos de configuração: compare dois arquivos .env ou YAML para detectar uma configuração incorreta. Ou duas versões de um script de deploy.

Edição de prosa: escritores podem ver as revisões do editor em contexto, especialmente quando apenas algumas linhas mudaram.

Revisão de código (uso leve): para pequenos trechos. Para revisão real de código, use uma ferramenta que entenda sintaxe — git diff com flags semânticos ou uma ferramenta de revisão dedicada dará melhores resultados.

Limitações

Fazemos diff na granularidade de linha. Se você mudar 'gato' para 'gatos' em uma linha, a linha inteira aparece como removida-e-adicionada; não destacamos o 's' inserido. Diffs em nível de palavra e caractere são úteis para isso, mas mais difíceis de ler em linhas longas.

Espaços em branco no final são significativos — 'foo' e 'foo ' (espaço no final) contam como linhas diferentes. Se quiser comparação insensível a espaços em branco, normalize o texto antes de colar.

A ordem importa. Dois parágrafos em posições diferentes contam como removidos e adicionados. O diff não tenta detectar blocos 'movidos'.

Perguntas frequentes

Isso suporta diff em nível de palavra?

Ainda não — apenas nível de linha. Podemos adicionar granularidade de caractere ou palavra mais tarde para comparações curtas.

Qual o tamanho máximo do meu texto?

Praticamente até alguns milhares de linhas por lado. A complexidade quadrática significa que entradas muito grandes podem congelar a aba do navegador brevemente.

Os dados saem do meu navegador?

Não. O diff é executado completamente no local.

Espaços no final de linha são significativos?

Sim. Duas linhas que diferem apenas por espaço em branco no final são contadas como diferentes. Normalize os espaços antes de colar se quiser correspondência insensível a espaços.

Posso salvar o diff?

Não como arquivo salvo. Copie e cole o texto renderizado ou tire uma captura de tela por enquanto.

É o mesmo algoritmo que o git diff?

Conceitualmente sim — usamos LCS, que é uma das opções do git. O git usa por padrão um algoritmo similar mas mais sofisticado (Myers diff com Patience como opt-in). A saída para entradas curtas é essencialmente idêntica.

Por que linhas inteiras são marcadas quando apenas uma palavra mudou?

Porque trabalhamos na granularidade de linha. Um diff em nível de caractere destacaria a palavra alterada, mas é mais difícil de ler em linhas longas.

Posso comparar mais de duas versões?

Não nesta ferramenta. Para merge de múltiplas versões, use uma ferramenta de diff de 3 vias dedicada.

Ferramentas relacionadas

Última atualização:

Experimente nossos prompts de IA →