Comparador de Arquivos Grandes

Compare dois arquivos locais grandes linha a linha ou byte a byte, com opções de espaços, finais de linha e codificação, e um relatório para baixar.

Os dados inseridos e arquivos ficam no navegador

Arquivos

Arquivo original

Qualquer arquivo local. Ele fica neste dispositivo.

Arquivo alterado

Qualquer arquivo local. Ele fica neste dispositivo.

Os dois arquivos são lidos em um Web Worker em blocos de 1 MiB. De cada linha só fica um hash, e o texto na tela é lido de novo dos arquivos. Nada é enviado nem salvo.

Diferenças

Escolha um arquivo original e um alterado para ver as linhas ou intervalos de bytes alterados.

Nesta página

O Comparador de Arquivos Grandes compara dois arquivos locais grandes demais para uma caixa de texto: logs de vários gigabytes, exportações CSV, dumps SQL ou builds. Arquivos de texto são comparados linha a linha, binários byte a byte, e o resultado é uma tabela virtualizada de alterações e um relatório para baixar.

Funcionalidade detalhada

Os dois arquivos são lidos em blocos de 1 MiB dentro de um Web Worker. Em vez de guardar o texto, cada linha vira um hash de 64 bits, então um arquivo custa cerca de 8 bytes por linha. As opções de espaços e finais de linha são aplicadas no cálculo do hash: comparar exatamente, ignorar espaços no fim, ignorar mudanças na quantidade de espaços ou ignorar todos; CRLF e LF podem contar como o mesmo final de linha. UTF-8 e UTF-16 são processados como caracteres Unicode, então o mesmo texto salvo nas duas codificações coincide. Codificações legadas como Windows-1251 ou Shift_JIS são comparadas pelos bytes.

O pareamento de linhas primeiro pula o início e o fim em comum, depois se ancora em linhas que aparecem exatamente uma vez nos dois arquivos (patience diff) e alinha as lacunas com o algoritmo de Myers. Uma lacuna que demoraria demais é mostrada como um único bloco de substituição, e a página avisa. Só as linhas visíveis são lidas de novo dos arquivos, então rolar por milhões de linhas alteradas continua leve.

O modo binário compara os bytes em blocos e lista cada intervalo diferente com seu deslocamento, tamanho e os primeiros 16 bytes de cada lado; uma diferença de tamanho vira o último intervalo. O relatório de texto é um unified diff (.diff); o binário é um CSV. Ambos são gravados em streaming no arquivo escolhido.

Exemplos práticos

Dois arquivos de log: um log de 2 milhões de linhas contra uma cópia em que 40 linhas mudaram de nível de INFO para WARN mostra 40 linhas removidas e 40 adicionadas em blocos separados, cada um com três linhas de contexto.

Cópias de Windows e Unix: um arquivo CRLF contra sua cópia LF não mostra diferenças enquanto a opção de finais de linha estiver ativa; desative-a e todas as linhas diferem.

Indentação reformatada: escolha Ignorar mudanças na quantidade, e linhas que diferem apenas em espaços ou tabulações entre palavras são tratadas como iguais.

Imagens de firmware: no modo binário, dois builds que diferem em uma string de versão e um checksum mostram dois intervalos curtos com os bytes antigos e novos em hex.

Como usar esta ferramenta

  1. Escolha os arquivos

    Arraste ou escolha o arquivo original e o alterado. A comparação começa assim que os dois estão selecionados.

  2. Defina as opções

    Escolha Detectar, Linhas de texto ou Bytes binários, a codificação, a regra de espaços e se os finais de linha contam. Clique em Comparar para executar de novo com as novas opções.

  3. Leia as alterações

    O resumo conta as linhas removidas e adicionadas e os blocos. Use Alteração anterior e Próxima alteração para pular entre blocos, e mude Linhas de contexto para mostrar mais ou menos linhas inalteradas ao redor.

  4. Baixe o relatório

    Baixe um unified diff para texto ou um CSV de intervalos de bytes para arquivos binários.

Dicas e melhores práticas

  • Detectar muda para binário quando um dos arquivos tem um byte NUL nos primeiros 8 KiB, a menos que comece com um BOM UTF-16.
  • As linhas são comparadas por hash. Duas linhas diferentes com o mesmo hash de 64 bits são extremamente improváveis, e a tabela sempre mostra o texto real.
  • Blocos de texto reordenados aparecem como uma remoção e uma adição, como no diff -u.
  • Cancelar para o processo na hora; os arquivos continuam selecionados.
  • Para uma olhada rápida em dois trechos curtos, o Visualizador de Diferenças de Texto destaca as palavras alteradas dentro das linhas.

Ajude a escolher o próximo passo

O que devemos melhorar a seguir?

Escolha uma sugestão. São ideias, não funcionalidades prometidas.

Escolha uma opção

O voto envia apenas a opção escolhida como uma contagem anónima. Não contém entradas, dados de ficheiros, URL, cookies nem identificadores e não é guardado neste navegador. Recarregar a página permite votar novamente.