# Duplicate File Finder

> Find duplicate files in a folder and delete the copies in your browser: grouped by size, streaming SHA-256 only when sizes match. Deletion is permanent.

- URL: https://bytescope.dev/en/duplicate-finder/
- Locale: en · Also: [ja](https://bytescope.dev/ja/duplicate-finder.md) · [zh-Hant](https://bytescope.dev/zh-Hant/duplicate-finder.md)
- Runs: The folder is opened by the browser on your own machine. Files are read here to hash them and never sent anywhere — no upload, no account, no copy on a server.
- Requires: Chrome, Edge or Opera on desktop (File System Access API): the tool changes files inside the folder you pick. Other browsers cannot write into a folder, so they get a support matrix instead of the tool.
- Updated: 2026-09-08

## What it does

Point this at a folder and it walks everything inside, subdirectories included, looking for files that are exact byte-for-byte copies of each other. The trick that makes it fast is refusing to do unnecessary work: files are grouped by size first, and a file whose size is unique across the whole tree cannot be a duplicate of anything, so its contents are never read at all. Only files that share a size get hashed — a streaming `SHA-256`, computed in chunks, so a 4 GB video never sits in memory. In a typical photo library most files are never hashed; the scan is mostly directory listing.

### What counts as a duplicate

Two files are reported as duplicates only when their `SHA-256` digests match, which in practice means the contents are identical to the last byte. That is a deliberately narrow definition. This tool does not find photos that are almost the same — the same shot at two resolutions, the same image saved as JPEG and as PNG, two frames taken a second apart. Finding those is perceptual hashing, a different technique with a different failure mode (it guesses), and it is not in this version. Everything reported here is exact, which is what makes it safe to act on mechanically.

### Choosing what to keep

Duplicates are shown in groups, with thumbnails for images so you can see what you are deciding about. Within each group you pick the survivor — by hand, or with a rule: keep the oldest, keep the newest, or keep the one with the shortest path, which usually means the copy in its original location rather than the one buried in `backup/backup2/misc`. Before anything happens you see the exact list of files that will be deleted, and nothing is touched until you confirm it.

### Deleted means deleted

Be clear about this before confirming, not after: files deleted here do not go to the recycle bin or the trash. The File System Access API removes them outright, and this tool cannot bring them back — recovery software might salvage something, but that is a gamble, not a plan. The protections are in the flow instead: exact-match-only detection, an explicit review list, per-group keep rules, and a confirmation step. Read the list. It is the last step that can save you.

## Limits

Does not find similar-but-not-identical photos across different sizes or edits; it matches exact duplicates by content hash.

## FAQ

### Are my files uploaded to find duplicates?

No. The directory walk, the size comparison, the `SHA-256` hashing and the thumbnails all run in your browser — hashing streams each candidate file in chunks through a local worker, and the bytes go nowhere. The page is a static file with no server behind it, so there is no upload path even in principle; the network tab stays empty through an entire scan. That matters here more than usual, because the folder you deduplicate is often the folder with everything in it.

### How does it decide two files are identical?

In two stages, and the order is the point. Size is compared first, because it is free — it comes with the directory listing — and because files of different sizes cannot be identical. Only files sharing a size get their contents read and hashed with `SHA-256`; matching digests on same-sized files means the contents are identical for every practical purpose. The two-stage design is why it is both fast and exact: most files are eliminated without being read, and nothing is ever declared a duplicate on a guess.

### Can deleted files be recovered?

No. Files deleted here are not moved to the recycle bin or the trash — the File System Access API deletes them outright, and there is no undo for it in this tool or in your operating system's usual places. Dedicated recovery software sometimes rescues recently deleted data, but nothing about that is guaranteed. Treat the confirmation dialog as final, because it is: read the deletion list before you accept it.

### Which browsers does it work in?

Chromium desktop browsers — Chrome, Edge, and derivatives like Brave. Both halves of the job need the File System Access API: picking a folder and walking it, and deleting the copies you selected. Firefox and Safari have not implemented it, so the page shows an honest support notice there instead of a tool that cannot finish. Mobile browsers are out for the same reason.

### Does it find similar photos, like the same shot at two sizes?

No — and it will not pretend to. Two exports of the same photo at different resolutions, or the same image as JPEG and as PNG, are different bytes, so they hash differently and are never reported. Finding “visually similar” images takes perceptual hashing, which judges likeness rather than identity and can be wrong in both directions; it is not in this version. The upside of exact-only matching is that every group shown is a certainty, which is exactly what you want when the next step is deletion.

## Related tools

- [Folder Size](https://bytescope.dev/en/folder-size.md) — See which folders eat the disk with a treemap, then come here to find duplicate copies.
- [Folder Compare](https://bytescope.dev/en/folder-compare.md) — Compare two folders by size, then SHA-256, and list only-in-A, only-in-B, and diffs.
- [File Hash](https://bytescope.dev/en/file-hash.md) — Hash a file yourself — MD5, SHA-1, SHA-256, CRC32 — and compare digests.
- [Bulk Rename](https://bytescope.dev/en/bulk-rename.md) — Rename every file in a folder from a rule chain, with a preview first.
- [Extract Archive](https://bytescope.dev/en/extract-archive.md) — Unpack zip, 7z, rar and tar archives without uploading them.
