Comparar Texto Online — Diff de Dois Textos
Compare versões de código, contratos e artigos e visualize cada mudança com destaque em cores.
Para que serve
Diferenças visíveis em segundos
Diff de linha e caractere
Visualize mudanças no nível da linha e no nível do caractere dentro de cada linha modificada.
100% privado
A comparação acontece no seu navegador. Seus textos nunca são enviados a nenhum servidor.
Algoritmo Myers
Implementação do algoritmo Myers diff O(n+d), o mesmo que o git usa internamente para seus diffs.
Instantâneo
Os resultados aparecem assim que você cola o texto, sem precisar clicar em converter.
Como funciona
Três passos, sem complicação
Cole os dois textos
Insira o texto original no painel esquerdo e o texto modificado no painel direito. Podem ser código, documentos ou qualquer texto simples.
Visualize as diferenças
Linhas adicionadas aparecem em verde, linhas removidas em vermelho, e linhas modificadas mostram a alteração exata destacada no nível do caractere.
Analise as mudanças
Navegue entre as diferenças com os botões anterior e próximo. Veja um resumo das linhas adicionadas, removidas e inalteradas.
Perguntas frequentes
Ficou com dúvidas?
Os algoritmos modernos de diff se baseiam no cálculo do LCS (Longest Common Subsequence — subsequência comum mais longa). Dados dois textos A e B, o algoritmo encontra a sequência mais longa de linhas que aparece em ambos na mesma ordem. Linhas de A que não fazem parte do LCS são marcadas como removidas (vermelho), e linhas de B que não fazem parte são marcadas como adicionadas (verde). O algoritmo Hunt-McIlroy (1975), usado no comando diff original do Unix, formalizou essa abordagem.
Verde indica linhas adicionadas no novo texto que não existiam no original. Vermelho indica linhas removidas que estavam no original e não estão mais presentes. Amarelo ou sem cor indica linhas inalteradas (contexto). No modo de diff por caractere, dentro de uma linha modificada, os novos caracteres são destacados em verde escuro e os removidos em vermelho escuro, permitindo ver a alteração exata dentro da linha.
O diff linha a linha trata cada linha como uma unidade atômica: a linha está presente ou não, assim como o git diff faz. É ideal para código onde as mudanças ocorrem entre linhas completas. O diff caractere a caractere (também chamado word diff ou char diff) opera dentro de cada linha modificada e mostra exatamente quais caracteres ou palavras mudaram. É mais útil para prosa, contratos ou textos onde as alterações são edições pequenas dentro de parágrafos.
O diff é fundamental em controle de versão (git diff mostra as mudanças antes de um commit), revisão de código (pull requests no GitHub exibem um diff), comparação de documentos jurídicos (contratos, termos de serviço entre versões), jornalismo e verificação de fatos (comparando versões de comunicados de imprensa) e depuração (comparando saída esperada com saída real em testes). Também é usado em patches de software: arquivos .patch são diffs unificados que o git apply consegue aplicar a um repositório.
LCS (Longest Common Subsequence) é o problema de encontrar a subsequência mais longa que duas sequências têm em comum sem reordenar os elementos. Para diff de texto, as sequências são as linhas do texto. O LCS representa as linhas que não mudaram; tudo o que não está no LCS é uma alteração. O algoritmo padrão de programação dinâmica para LCS tem complexidade O(n×m) onde n e m são os tamanhos das duas sequências, mas algoritmos mais eficientes como o Myers diff (1986) alcançam O(n+d) onde d é o número de diferenças.
Como o diff de texto funciona: do comando Unix ao git
O comando diff foi introduzido no Unix por Doug McIlroy em 1974 e se tornou uma ferramenta fundamental no ecossistema Unix. Seu algoritmo original, formalizado por Hunt e McIlroy no artigo An Algorithm for Differential File Comparison (1975), calcula a subsequência comum mais longa (LCS) entre dois arquivos e expressa as diferenças como um conjunto mínimo de operações de inserção e remoção. Esse princípio matemático continua sendo a base de todas as ferramentas de diff modernas.
Em 1986, Eugene Myers publicou um algoritmo melhorado que reduz a complexidade para O(n+d), onde d é o número de diferenças, tornando-o significativamente mais rápido quando os arquivos são parecidos (poucas diferenças). Esse é o algoritmo que o Git usa internamente para git diff, git log -p e visualizações de pull request no GitHub e GitLab. O formato de diff unificado (com linhas prefixadas por +, - e espaço) se tornou o padrão universal para troca de patches entre projetos de software.
Além de código, o diff tem aplicações em jornalismo de dados (comparando versões de documentos oficiais), direito (detectando mudanças entre versões de contratos) e ciência (comparando sequências genômicas). O Convertir.ai implementa o algoritmo Myers diff inteiramente no navegador, com visualização em nível de linha e de caractere, sem enviar textos a nenhum servidor. Isso é especialmente relevante para comparar documentos confidenciais como contratos, código proprietário ou dados sensíveis.