Duplicate File Finder
Finds files that are byte-for-byte identical in a folder — hashed and compared right in your browser tab, nothing installed, nothing uploaded.
Pick a folder — or select its files if your browser doesn't support folder access — and every file's contents get hashed with SHA-256. Files sharing a hash are true duplicates, no matter what they're named. Review the groups, see exactly how much space they're wasting, and clear them out. In Chrome, Edge, or Brave you can delete duplicates right from the page; in Safari or Firefox you get a clear, exportable list to act on yourself. One-time purchase, works offline forever.
What it does
What it does: Walks a folder (recursively, including subfolders), reads every file's contents, and hashes each one with the browser's built-in SHA-256 implementation (crypto.subtle.digest). Files whose hashes match are byte-for-byte identical — not "similar," not "same name," but the exact same content. Files are first bucketed by size (a real optimization: two files of different sizes can never be duplicates, so only files sharing a size with at least one other file ever get hashed at all), then grouped by hash within each size bucket. One copy per group is suggested as the one to "Keep"; everything else in the group is a candidate for removal, shown with its path, size, and a thumbnail if it's an image.
Who it's for: Someone who has merged two folders of files — most often photos — and now has scattered exact duplicates eating disk space and cluttering search results. The clearest case: someone drags an old laptop's photo backup into their current Pictures folder alongside photos already synced from their phone, and now the same shot shows up two or three times under different filenames (IMG_1234.jpg next to Photo 2019-05-01.jpg) scattered across subfolders.
Example scenario: A freelancer consolidating years of client work drags an old external-drive backup into their current Documents folder "just to be safe," then does it again a year later from a different backup. Now there are three copies of some invoices and two copies of others, spread across nested subfolders with different names. They open this tool, pick the top-level folder, and in under a second see exactly which files are true duplicates, how much space each group wastes, and — in Chrome — delete the extras directly, or in Safari, export the list and delete them by hand.
What it explicitly does not do:
- Does not find similar files (near-duplicate photos, slightly different edits/crops, differently-compressed versions of the same image, or renamed-and-resized copies) — only files whose contents are byte-for-byte identical. That's a fundamentally different (and much fuzzier) problem than content hashing solves.
- Does not delete files in Safari or Firefox — those browsers don't expose an API that lets a web page delete an arbitrary file it didn't create. You get a clear, exportable list instead; deleting the files themselves happens in Finder/Explorer.
- Does not treat two 0-byte files as duplicates — empty files are excluded by design, since flagging every empty placeholder file in a project folder as a "duplicate" is more noise than signal.
- Does not scan system/hidden housekeeping files (
.DS_Store,Thumbs.db,desktop.ini, AppleDouble._*files) — these are filtered out automatically so they don't clutter results. - Does not stream-hash a single enormous file in chunks — the whole file is read into memory before hashing, since the browser's Web Crypto API has no incremental/streaming digest. Tested comfortably at hundreds of files and several megabytes each; a single multi-gigabyte video file is a genuinely untested case and may be slow or memory-heavy.
- Does not remember anything between sessions — reload the page and the last scan is gone.
Features
- Hashes every file's contents with SHA-256 (via the browser's own Web Crypto API) to find exact, byte-for-byte duplicates — not just same name or same size
- Recursively scans subfolders, so duplicates scattered across a nested folder structure are still caught
- Groups duplicates clearly, showing each file's path, size, and a thumbnail for images
- In Chrome/Edge/Brave: delete selected duplicates directly, with an explicit confirmation showing exactly how many files and how much space
- In Safari/Firefox: export a full CSV list (path, size, hash, group) to review or delete files yourself
- Skips known-junk files (
.DS_Store,Thumbs.db, etc.) and empty files automatically, so results stay meaningful - Runs entirely offline — no network requests, no analytics, nothing uploaded, verifiable by reading the page's own source
Browser support
| Platform | Result | Notes |
|---|---|---|
| Desktop Chrome (macOS) | Full | Opened and visually confirmed in the real, installed Chrome app (folder-picker button visible, "Full functionality" message shown). Full functional flow — recursive folder walk, hashing, grouping, correct exclusion of same-name/different-content and same-size/different-content files, delete-in-place with a real write-permission prompt, partial and full deletion, CSV export — additionally verified end-to-end through Chromium's real engine via automated testing (see method note below). |
| Desktop Edge / Brave | Not separately tested | Both are Chromium-based like Chrome, where the tool was confirmed Full; neither is installed on this machine, so this is an inference from the shared engine, not an independent test — not claimed as independently verified. |
| Desktop Safari (macOS) | Degraded (fallback), confirmed working | Opened and visually confirmed in the real, installed Safari app: the folder-picker button is correctly hidden and the honest "this browser doesn't support in-place folder access" message is shown. The fallback file-selection path itself (hashing, grouping, all the same correctness checks as Chrome, CSV export, no delete button shown) was run end-to-end through Safari's real WebKit engine via automated testing — not just assumed to work because the code has a branch for it. |
| Desktop Firefox (macOS) | Degraded (fallback), confirmed working | Same as Safari: opened and visually confirmed in the real, installed Firefox app (folder-picker button hidden, honest fallback message shown), and the fallback path's full functional flow confirmed end-to-end through Firefox's real Gecko engine via automated testing. |
| Small viewport / touch | Checked | Not a physical phone, but genuinely emulated (not assumed): a 390×844px touch-enabled mobile viewport, with an actual tap-triggered file selection and full scan/results flow run through it. No horizontal overflow on either the empty state or the results view; controls remain reachable and readable. |
| iOS Safari (iPhone/iPad) | Not verified | No physical iOS device available. iOS Safari shares Safari's WebKit engine and the same capability gap (no File System Access API) already confirmed on desktop Safari, so the fallback experience is expected to work the same way — but this is an inference, not a test on real hardware, and is not claimed as verified. |
| Android Chrome | Full | Tested on a real Android device in Chrome — works. |
Method note on "automated testing": beyond opening each real installed browser app and visually confirming capability detection, the functional flow (walking a folder, hashing, grouping, deleting) was exercised end-to-end using Playwright driving each engine's own real Chromium/WebKit/Gecko binary — including, for the Chrome/FSA delete path specifically, substituting the browser's folder picker with a real `FileSystemDirectoryHandle` from the Origin Private File System so the app's actual, unmodified delete code (`removeEntry`) could be verified against real files rather than only read in source. This caught and fixed two real bugs before shipping (see Known limitations below) — it is not a simulation of the code, it's the same code, actually run.
FAQ
Does my file get uploaded anywhere?
No. The entire tool is one static HTML file with no server component and no network calls. Every hash is computed locally in your browser tab using the Web Crypto API. You can open it with your Wi-Fi off, or read the page's source yourself to confirm there's nothing that sends data anywhere.
Does this work on my iPhone/iPad?
The file-selection fallback (the same one Safari and Firefox on desktop use) is expected to work, since iOS Safari shares desktop Safari's engine — but this hasn't been tested on a physical iOS device, so it isn't claimed as verified. If you try it on iOS and hit an issue, that's useful to know.
Does it actually delete my files, or just show them?
Both, depending on your browser. In Chrome, Edge, or Brave, after you pick a folder (not just select files) you can select specific duplicates and delete them right from the page, with an explicit confirmation first. In Safari or Firefox, the browser doesn't give a web page permission to delete arbitrary files, so you get a clear, exportable list instead — you delete the files yourself in Finder or Explorer.
What happens to my file if I lose the download?
Nothing is stored by the tool anywhere — your original files are untouched on your computer the whole time you're reviewing results. If you reload the page, you'll need to re-scan the folder; the tool holds nothing in memory across a reload.
Can I use this for client or commercial work?
Yes — personal and commercial use are both fine.
Is there a subscription?
No. One-time purchase, yours to keep and reuse forever.
Will it flag two different files that happen to be the same size as duplicates?
No. Same size alone proves nothing — only files whose full content hashes match are ever grouped as duplicates. Same-size, different-content files are correctly left alone; this was specifically tested and verified, not just assumed.
Try it free in your browser → Open the free version of this tool — runs entirely in your browser, nothing uploaded.
- ✓ Runs 100% offline in your browser
- ✓ Single HTML file — no install, no dependencies
- ✓ No account, no telemetry, no tracking
- ✓ Buy once — yours forever
After checkout you get an instant download link. Open the file in any modern browser and it just works.
Pairs well with
✓ runs entirely on your device — Wi-Fi off? Still works.
accounts sign-ups cloud uploads none
✓ your files stay where you put them
Prefer to try before buying? The browser versions of every tool run free at tools.untracked.tools — no upload, ever.