Localizador de ficheiros duplicados

Largue um lote de ficheiros e esta página encontra os que têm conteúdo com bytes idênticos, em três passagens: um filtro de tamanho (ficheiros de tamanhos diferentes nunca podem ser duplicados), um agrupamento SHA-256 dos sobreviventes, e uma comparação final de bytes completa como seguro. Recebe cada grupo de duplicados com o espaço que desperdiça, caixas de seleção para as cópias que apagaria, e uma lista de verificação CSV para levar ao seu gestor de ficheiros. Dois ficheiros chamados photo.jpg com bytes diferentes não são duplicados; dois ficheiros com nomes diferentes e os mesmos bytes são. Nada é enviado.
Largue os ficheiros aqui, ou clique para os escolher
Até 50 ficheiros, 200 MB cada. Os ficheiros permanecem nesta máquina.
Nenhum ficheiro selecionado.
Os grupos de ficheiros idênticos aparecem aqui depois da análise. O primeiro ficheiro de cada grupo vem pré-marcado como a cópia a manter.
Uma página do navegador não consegue eliminar os seus ficheiros — e não deve. A lista de verificação que exporta (nome, tamanho, SHA-256, id do grupo) foi concebida para ser aplicada no Explorador, no Finder ou no gestor de ficheiros que preferir, onde as eliminações são visíveis e reversíveis. Privacidade: toda a análise é executada localmente; nenhum ficheiro ou resumo sai deste separador.

O que é um ficheiro duplicado?

Um verdadeiro duplicado é um ficheiro cujo cada byte é igual aos bytes de outro ficheiro. Não é “mesmo nome” (copy.jpg de duas câmaras são fotografias diferentes), nem “mesmo tamanho” (um milhão de ficheiros têm 1024 bytes), nem “aparenta ser igual” (um JPEG gravado de novo é um fluxo de bytes diferente). Só conta a igualdade de conteúdo — o que também explica por que razão a análise é imune a cópias renomeadas, cópias com a data alterada e ficheiros espalhados por pastas diferentes.

Como funcionam as três passagens

PassagemComparaCustoPorquê
1 — tamanhotamanho do ficheiro em bytesinstantâneo (metadados)um tamanho diferente nunca pode ser idêntico; normalmente elimina a maioria dos ficheiros sem ler nada
2 — SHA-256resumo de todo o conteúdouma leitura por sobreviventeo mesmo resumo para conteúdos diferentes é computacionalmente inviável
3 — bytesos bytes reaisuma leitura extra por parseguro: prova a igualdade sem depender de modo algum do hash

A pré-passagem por tamanho não é um pormenor de otimização — é o que torna a comparação de conteúdo viável. Uma pasta de 5000 fotografias pode conter 50 grupos, mas apenas algumas centenas de ficheiros chegam à fase de hash.

O que deliberadamente não faz

Sem quase-duplicados: a mesma fotografia em duas resoluções ou dois níveis de qualidade são bytes diferentes e não são assinalados — esse problema exige hash perceptual de imagens, que é outra ferramenta. Sem eliminação: uma página web que apagasse ficheiros no seu disco seria um erro de segurança, e não uma funcionalidade; em vez disso, recebe a lista de verificação. Sem nuvem: nada é enviado, o que também significa que nada pode ser analisado sem que os seus ficheiros sejam lidos.

FAQ

Porque é que o primeiro ficheiro está marcado como “manter”? — algum ficheiro do grupo tem de sobreviver; o primeiro pela ordem de seleção é uma escolha determinística e sem história. Altere qualquer caixa de seleção antes de exportar a lista de verificação.
O que é o “espaço desperdiçado”? — o tamanho de cada cópia para além da primeira no seu grupo, somado em todos os grupos: os bytes que recuperaria ao eliminar as extras.
Pode o SHA-256 estar errado? — não na prática: uma colisão exigiria um par deliberadamente construído e nunca ocorreu para o SHA-256. A passagem 3 elimina até essa dúvida teórica.