ByteScope

Duplicate File Finder

サブフォルダまで歩き、サイズで絞り、候補だけをハッシュして、選んだコピーを削除 — すべてローカルで。そして、ここでの削除は本当に削除です。

フォルダはブラウザがこのマシン上で直接開きます。ファイルはハッシュ値を計算するためにここで読み込まれるだけで、どこにも送信されません — アップロードもアカウントも、サーバー上のコピーもありません。

フォルダ

フォルダを1つ選んでください。サブフォルダも含めてすべてスキャンします。ファイルはまずサイズでグループ分けされ、同じサイズのファイルだけが読み込まれます。

フォルダ
ファイル
0
ハッシュ計算対象
0 · 0 B

ブラウザの対応状況

ファイルをその場でリネーム・削除するには File System Access API が必要で、対応しているのは Chromium 系ブラウザだけです。対応・非対応にかかわらず、以下の操作はすべてこのマシン上で行われます — アップロードは一切ありません。

機能ChromeEdgeFirefoxSafari
ディスクからフォルダを開くwindow.showDirectoryPicker — Chrome/Edge 86 以降、デスクトップのみ対応対応非対応非対応
ファイルをその場でリネームFileSystemFileHandle.move — Chrome/Edge 111 以降対応対応非対応非対応
ファイルをその場で削除FileSystemDirectoryHandle.removeEntry対応対応非対応非対応
次回のためにフォルダを記憶ハンドルはこの端末の IndexedDB に保存されますが、権限は毎回あらためて確認されます対応対応非対応非対応

このブラウザでの検出結果

  • window.showDirectoryPicker
  • FileSystemFileHandle.move
  • indexedDB

Firefox や Safari、またはスマートフォンやタブレットでは、このページは手順を説明できても実行はできません。デスクトップ版の Chrome か Edge で開いてください。

このツールについて

フォルダを指定すると、サブディレクトリも含めて中のすべてを歩き、byte単位で完全に一致するコピーを探します。速さの秘訣は、余計な仕事を拒むことです。ファイルはまずサイズでグループ分けされ、ツリー全体でサイズが唯一のファイルは何かの重複でありようがないので、中身は一度も読まれません。ハッシュされるのはサイズが一致したファイルだけ — チャンク単位で計算するストリーミングの SHA-256 なので、4GBの動画がメモリに鎮座することもありません。普通の写真ライブラリでは大半のファイルは一度もハッシュされず、スキャンのほとんどはディレクトリ一覧の読み取りです。

何を「重複」と呼ぶか

2つのファイルが重複として報告されるのは、SHA-256 のダイジェストが一致したときだけです。実用上、中身が最後のbyteまで同一という意味です。これは意図して狭くした定義です。このツールは「ほぼ同じ」写真は見つけません — 同じショットの2つの解像度、同じ画像のJPEG版とPNG版、1秒違いの2コマ。それを見つけるのはperceptual hashing(知覚ハッシュ)という別の技術で、別の壊れ方をします(推測するのです)。このバージョンには入っていません。ここで報告されるものはすべて厳密な一致で、だからこそ機械的に処理しても安全なのです。

どれを残すかを決める

重複はグループごとに表示され、画像にはサムネイルが付くので、何について決めているのかが見えます。各グループの中で生き残りを選びます — 手作業でも、ルールでも。最古を残す、最新を残す、あるいはパスが最短のものを残す。最短パスは大抵、backup/backup2/misc の奥に埋まったコピーではなく、元の場所にある方を意味します。実行前には削除されるファイルの正確なリストが表示され、あなたが確認するまで何にも触れません。

削除は、削除

確認ボタンを押す前に、後からではなく、はっきりさせておきます。ここで削除したファイルはごみ箱に行きません。File System Access APIが直接消し去り、このツールに元へ戻す手段はありません — 復元ソフトが何か拾えることはあっても、それは賭けであって計画ではない。守りはフローの中に組んであります。厳密一致のみの検出、明示的な確認リスト、グループごとの残すルール、そして確認ステップ。リストを読んでください。あなたを救える最後の段階です。

よくある質問

重複を探すためにファイルはアップロードされますか?

されません。ディレクトリの走査も、サイズ比較も、SHA-256 の計算も、サムネイル生成も、すべてブラウザの中で動きます — ハッシュは候補ファイルをローカルのworkerへチャンク単位で流し込み、byteはどこへも行きません。このページは裏にサーバーを持たない静的ファイルなので、原理的にアップロード経路が存在せず、スキャンの間じゅうNetworkタブは空のままです。重複整理をかけるフォルダは大抵「全部が入っているフォルダ」なので、これはいつも以上に重要です。

2つのファイルが同一だと、どうやって判断していますか?

2段階で、そしてこの順番こそが要点です。まずサイズを比べます。サイズはディレクトリ一覧に付いてくるのでタダで、サイズが違うファイルは同一でありようがないからです。中身が読まれて SHA-256 でハッシュされるのは、サイズが一致したファイルだけ。同サイズのファイルでダイジェストまで一致すれば、実用上あらゆる意味で中身は同一です。この2段構えが、速くて、かつ厳密である理由です — 大半のファイルは読まれもせずに除外され、推測で重複と宣告されるものは1つもありません。

削除したファイルは復元できますか?

できません。ここで削除したファイルはごみ箱にもTrashにも移動しません — File System Access APIが直接削除し、このツールにもOSのいつもの場所にも、取り消しはありません。専用の復元ソフトが消して間もないデータを救い出すことはありますが、保証はどこにもありません。確認ダイアログは最終決定として扱ってください。実際に最終決定だからです。受け入れる前に、削除リストを読むこと。

どのブラウザで動きますか?

デスクトップ版のChromium系ブラウザ — Chrome、Edge、Braveなどの派生です。この仕事は両側でFile System Access APIを必要とします。フォルダを選んで歩くことと、選ばれたコピーを削除することです。FirefoxとSafariは実装していないので、そこでは最後まで動けないツールの代わりに、正直なサポート案内が表示されます。モバイルブラウザも同じ理由で対象外です。

「同じ写真の別サイズ」のような似た画像も見つかりますか?

見つかりません — 見つかるふりもしません。同じ写真を別解像度で書き出した2枚や、同じ画像のJPEG版とPNG版は、byteが違うのでハッシュも違い、報告されることはありません。「見た目が似ている」画像を探すにはperceptual hashingが必要で、あれは同一性ではなく類似度を判定する技術なので、両方向に間違えます。このバージョンには入れていません。厳密一致だけに絞る利点は、表示されるグループのすべてが確実だということです — 次のステップが削除であるとき、欲しいのはまさにそれでしょう。