Comparador de Diferenças

Compare dois textos e veja as diferenças destacadas. Adições em verde, exclusões em vermelho. Tudo roda no seu navegador — nenhum dado é enviado a lugar nenhum.

Como funciona: Cole ou digite texto em ambos painéis abaixo. A ferramenta compara linha por linha e destaca adições (verde), exclusões (vermelho) e linhas inalteradas (cinza). Ative opções para ignorar diferenças de espaços ou maiúsculas. Nenhum dado é enviado a nenhum servidor.

7linhas adicionadas7linhas removidas6linhas inalteradas
1-function greet(name) {
2- console.log("Hello, " + name);
1+function greet(name, greeting = "Hello") {
2+ console.log(greeting + ", " + name);
3 return true;
4 }
5
6-const users = ["Alice", "Bob", "Charlie"];
6+const users = ["Alice", "Bob", "Charlie", "Diana"];
7
8-for (let i = 0; i < users.length; i++) {
9- greet(users[i]);
8+for (const user of users) {
9+ greet(user);
10 }
11
12-// Old comment
13-console.log("Done!");
12+// Updated comment
13+console.log("All done!");

O que é um Diff?

Um diff (abreviação de diferença) é uma comparação entre duas peças de texto que mostra o que mudou. Ferramentas de diff identificam linhas adicionadas, removidas e modificadas, facilitando ver exatamente o que mudou entre duas versões de um arquivo. Diffs são fundamentais para sistemas de controle de versão como Git, processos de revisão de código e fluxos de comparação de documentos.

Como Algoritmos de Diff Funcionam

Algoritmos de diff encontram a Subsequência Comum Mais Longa (LCS) entre dois textos para determinar o conjunto mínimo de mudanças. Os algoritmos mais comuns são o algoritmo de Myers (usado pelo Git) e o algoritmo patience diff. Linhas presentes no original mas não no modificado são marcadas como exclusões, enquanto linhas novas são marcadas como adições. Linhas inalteradas fornecem contexto.

Casos de Uso Comuns

Ferramentas de diff são usadas para comparar versões de código antes de commits, revisar mudanças em pull requests, comparar arquivos de configuração entre ambientes, encontrar mudanças em documentação, depurar comparando código funcional vs quebrado, e verificar que mudanças de formatação não alteram o conteúdo. São essenciais em qualquer fluxo de desenvolvimento colaborativo.

Melhores Práticas de Diff

  • Revise diffs antes de fazer commit para detectar mudanças não intencionais
  • Use ignorar espaços ao comparar código reformatado
  • Compare contra a branch base, não apenas o commit anterior
  • Mantenha diffs pequenos e focados — mudanças menores são mais fáceis de revisar
  • Use visualização lado a lado para mudanças complexas
  • Preste atenção às linhas de contexto ao redor das mudanças para compreensão completa