O código desta página não rodou.

Abrir o index.html direto de uma pasta bloqueia os módulos de JavaScript, então não vai acontecer nada quando você escolher um arquivo. Sirva a pasta por http:

powershell -ExecutionPolicy Bypass -File serve.ps1

Depois abra http://localhost:8080/.

Comparador de textos — compare dois textos, lado a lado

Dois textos entram, cada diferença sai marcada, linha a linha e palavra por palavra. Nada é colado no servidor de ninguém.

Idioma: Português
Ver o código-fonte
Seus textos são processados no navegador. Sem envio para processamento.

Uma comparação é aritmética sobre duas strings, feita aqui, nesta página. O algoritmo é o de Myers — o mesmo que o git diff usa —, escrito à mão em src/diff.js, onde você pode lê-lo. Esta ferramenta não tem função de rede de espécie alguma, nada para buscar e nada para mandar, e isso pesa aqui: o que as pessoas comparam são contratos, arquivos de configuração e código ainda não lançado, sempre aos pares.

Verificação ao vivo: verificando…

Offline: verificando…

Você não precisa confiar na nossa palavra. Abra as ferramentas do desenvolvedor, deixe a aba “Rede” à vista e compare alguma coisa. Nenhuma requisição leva um caractere do que você colou. Ou então desligue a internet e compare assim mesmo.

1 Cole os dois textos

vazio
vazio

2 Escolha como ler

Ignorar linhas em branco Estas opções só mudam a visualização. Copiar e Baixar incluem todas as diferenças.

3 Leia o que mudou

Nada ainda.

Ver como Markdown

Como comparar dois textos sem enviá-los

  1. Cole os dois textos, ou solte os dois arquivos. O original à esquerda, a versão alterada à direita. Dois arquivos soltos juntos no seletor caem um de cada lado, na ordem em que você soltou; troque os lados se ficou ao contrário.
  2. Escolha como ler. Lado a lado, ou numa coluna só. Um telefone começa numa coluna, porque lado a lado precisa de duas colunas de texto e num telefone cabe mais ou menos uma; o menu está ali do lado de qualquer jeito.
  3. Ignore o que não importa. Espaços, maiúsculas e minúsculas, linhas em branco — cada um pode ser ignorado, para que um arquivo reformatado não se leia como cem mudanças. Por padrão, o miolo sem alteração é dobrado num contador, com três linhas mantidas de cada lado de cada mudança.
  4. Leia o que mudou. As linhas removidas ficam marcadas à esquerda, as adicionadas à direita, e dentro de uma linha alterada as palavras que diferem ficam destacadas — assim um diff de dois parágrafos mostra a palavra que se moveu, e não dois parágrafos inteiros.
  5. Leve o patch. O download é um .patch no formato unificado, que é o que uma revisão de código, o git apply e qualquer visualizador de diferenças esperam. Copiar põe a mesma coisa na sua área de transferência.

A versão longa

Como comparar dois arquivos JSON Formate os dois arquivos do mesmo jeito, ordene as chaves e compare depois. Por que um diff de JSON cru é quase só ruído, como canonizar os dois lados no navegador, e o que sobrevive até o patch.

Perguntas

Os meus textos são enviados para algum lugar?

Não. A comparação é uma função que roda no seu próprio navegador, no seu próprio hardware. Esta ferramenta não tem função de rede de espécie alguma: nunca busca nada e nunca manda nada, e a Content-Security-Policy da página lista todo endereço que ela pode contatar, e nenhum deles é nosso. É esse o motivo para usá-la com um contrato, um arquivo de configuração ou código não lançado: colar essas coisas no comparador de outra pessoa é entregar as duas versões de uma vez.

O que a comparação faz de verdade?

Ela acha o menor conjunto de edições que transforma o texto da esquerda no da direita, usando o algoritmo de Myers, o mesmo que o git diff usa. Ser o menor é justamente o que torna um diff legível: uma linha inserida no meio deve aparecer como uma inserção, e não como se todas as linhas seguintes tivessem mudado. Dentro de uma linha alterada, as palavras que diferem também são marcadas, então comparar dois parágrafos mostra a palavra que se moveu em vez de dois parágrafos inteiros.

Dá para comparar dois arquivos em vez de dois textos colados?

Dá. Solte os dois juntos no seletor e eles caem um de cada lado, na ordem em que você soltou. Quem lê é o seu navegador, para dentro desta página, que é o único lugar aonde eles vão. Troque os lados se você soltou na ordem errada.

O que sai de uma comparação, e dá para aplicar?

O download é um diff unificado: o formato @@ -3,5 +3,5 @@ que o git apply, o patch e qualquer ferramenta de revisão de código leem. Copiar faz a mesma coisa para a área de transferência. O que está na tela é uma visualização disso: lado a lado, ou numa coluna só, com as partes sem mudança recolhidas para uma contagem, a menos que você peça todas.

Dá para ignorar espaços, maiúsculas ou linhas em branco?

Dá, cada um separadamente. Ignorar espaços faz um arquivo reformatado comparar como sem mudanças; ignorar maiúsculas e minúsculas trata Error e error como a mesma palavra; ignorar linhas em branco pula as linhas que não carregam nada. Os contadores acima do resultado dizem então que os dois são iguais depois de ignoradas as diferenças que você pediu para ignorar — que não é a mesma afirmação que idênticos, e a página mantém as duas afirmações separadas.

De que tamanho pode ser a comparação?

Aqui não tem limite definido, porque não existe servidor pagando por um. Dois textos de vinte mil linhas com um punhado de mudanças comparam na hora, porque o começo e o fim em comum são aparados antes de o trabalho de verdade começar. A comparação de dois textos que não têm absolutamente nada em comum para cedo e avisa, em vez de gastar um minuto provando o óbvio; e uma comparação muito longa desenha as primeiras milhares de linhas e deixa o resto para o patch baixado.

É grátis, e preciso de conta?

É grátis, e não tem conta, nem login, nem período de teste, nem limite de quanto você cola. O site exibe publicidade, e é ela que paga a conta; os anúncios não recebem nada sobre o seu texto.

Funciona offline?

Funciona. Carregue a página uma vez, depois desligue a internet e ela continua funcionando. Esse é também o jeito mais simples de provar que nada está sendo enviado: uma ferramenta que mandasse os seus textos embora para serem comparados pararia no instante em que você tirasse da tomada.