How to Find Duplicate Photos and Free Up Space Without Deleting the Wrong Ones

Camera rolls do not fill up with photos you love. They fill up with burst shots, re-saved copies, folders imported twice and the same sunset taken seven times “just in case.” Our duplicate photo finder finds the waste: drop, browse or paste your photos — 100 or more at once is fine — and it groups exact duplicates and look-alikes in seconds, entirely on your device. Nothing is uploaded, nothing is deleted for you, and the groups come with thumbnails, filenames, sizes and dimensions so you can review before anything goes. This guide explains the two fingerprints behind it, works the 8,432-photo example, and gives you a review workflow that frees space without ever deleting the wrong shot.

How to Use the Finder

1. Add your photos. Drop photos onto the page, click to browse, or paste with Ctrl+V. Everything is hashed on your device, in small chunks with a progress bar so the page stays responsive even for very large batches. 2. Review the groups. Duplicates appear in groups with thumbnails, filenames, sizes and dimensions. Use “Keep newest, select rest” in any group to tick the likely extras. 3. Delete safely yourself. This tool never deletes files — a web page has no access to your gallery — it only shows you the list, so you remove the extras in your own photos app with confidence. That last point is a feature, not a limitation: a tool that deleted for you would be a tool that could delete the wrong photo for you. If your library also needs format cleanup, our HEIC-to-JPG guide covers converting iPhone photos in bulk, and our background-removal guide covers cleaning up the keepers.

Exact vs Similar: Two Fingerprints

Every photo gets two fingerprints on your device. SHA-256 hashes the exact file bytes: identical files always match, and it cannot false-positive — if two files share a SHA-256 hash, they are the same file, and keeping just one is safe. The perceptual hash, dHash, is the clever one: it shrinks each photo to a 9×8 grayscale grid and records whether each pixel is brighter than its neighbor, producing a 64-bit visual fingerprint. Photos that look the same — burst shots, re-saved copies, resized versions — get identical or near-identical dHashes even when their file bytes differ completely. That is why the finder catches what a plain file comparison misses: the same photo saved at two sizes, exported twice from two apps, or re-compressed by a messaging app are different files with the same face. Treat the two kinds of groups differently: exact groups are safe to trim to one copy, while similar groups are suggestions that need your eyes — two similar-but-different photos, eyes open versus a blink, can hash alike.

Worked Example: 8,432 Photos, About 2.4 GB Reclaimed

Take a camera-roll export of 8,432 photos. The scan finds 312 exact duplicates — 1.9 GB, mostly burst shots and folders imported twice — plus 96 near-duplicate groups of similar shots. Reviewing the groups and deleting the extras reclaims about 2.4 GB — room for a weekend of new photos — in roughly 20 minutes of review. The time is the review, not the scan: hashing is fast, and the 20 minutes is you glancing through groups and ticking the extras. The pattern generalizes. Most people's waste is not exotic; it is the same three sources again and again — burst mode firing ten frames for one keeper, an album imported from both a phone and a cloud backup, and edited copies saved alongside originals. Finding those three sources in your own library is usually worth more than any storage upgrade, and unlike a bigger storage plan, it is free and it lasts until the next import.

A Review Workflow That Never Deletes the Wrong Photo

Work group by group, largest first — the biggest groups hold the most space. In exact groups, keep one copy and tick the rest; it does not matter much which copy you keep, since the bytes are identical, though keeping the one with the clearest filename saves confusion later. In similar groups, slow down: open the thumbnails, check the faces, and keep the frame you actually prefer — the eyes-open shot, the sharper one, the better crop. Use “Keep newest, select rest” as a starting tick, not a final decision, and un-tick anything you hesitate over; hesitation is data. Before any bulk delete, make sure the keepers are backed up somewhere else — a cloud backup or an external drive — because a delete in your gallery app is the one step this workflow cannot undo for you. And delete in your gallery app, not in bulk from a file manager: the gallery shows you the photo you are about to lose, which is the last check that matters.

Common Mistakes

Deleting similar groups sight unseen. dHash is forgiving by design: heavy filters, crops or lighting changes can still produce matching hashes, so similar groups always need a quick visual review. Trusting file size as a duplicate signal. Two copies of the same photo at different compressions have different sizes and different bytes — only the perceptual hash catches them. Deleting before backing up. A keeper deleted in a bulk pass is gone; a backup turns a mistake into a restore. Expecting the tool to delete for you. It cannot — web pages have no access to your gallery — and any tool that claimed otherwise would be lying about how browsers work. Ignoring the review step for burst shots. Burst groups are where the eyes-open versus blink choice lives, and it is the one choice no hash can make for you.

Limits Worth Knowing

Near-duplicate detection needs your eyes, as above. RAW format support depends on your browser's image decoding, so some camera RAW files may not scan where JPEGs and PNGs do. Very large batches — thousands of photos — work, but take longer; hashing runs in small chunks so the page stays responsive while it works. And the privacy guarantee is structural, not promised: all hashing and comparison happens locally in your browser, so you can even disconnect from the internet after the page loads and it will keep working. Your photos never leave your device, which is the only privacy policy that cannot be broken by a server breach.

Frequently Asked Questions

Will it delete my photos automatically?
No — and it can't. A web page has no access to delete files from your gallery. It only finds and groups duplicates so you can review them and delete the extras in your own photos app.
What's the difference between “exact” and “similar”?
“Exact duplicates” have identical file contents (the same SHA-256 hash) — safe to keep just one. “Similar photos” look almost the same to a perceptual hash (burst shots, slightly re-saved copies) — review these by eye before removing anything.
Can I scan 100 or more photos at once?
Yes. Hashing runs in small chunks with a progress bar so the page stays responsive. Very large batches just take a little longer — everything still happens on your device.
Are my photos uploaded anywhere?
Never. All hashing and comparison happens locally in your browser. You can even disconnect from the internet after the page loads and it will keep working.
Why did two different-looking photos get grouped?
The perceptual hash compares overall structure, so very similar compositions (the same scene, a tiny crop or filter change) can land close together. Treat “similar” groups as suggestions and check the thumbnails before deleting anything.

More guides from ToolNest

How to Convert HEIC to JPG: Open iPhone Photos Anywhere, in Bulk

Batch-convert up to 20 iPhone photos at once — JPG at 85% vs lossless PNG (61 MB vs 148 MB on the same 20 photos), and why the first conversion takes longer.

How to Remove a Background From an Image for Free — No Upload, No Watermark

In-browser AI cut-outs in seconds — the ~45 MB model that loads once, full-resolution transparent PNGs, and the contrast and hair tricks that make edges clean.

How to Upscale an Image With AI: 2x vs 4x, Print Sizes and Honest Limits

2x vs 4x explained, the 1200×900 to 4800×3600 print example (16×12 inches at 300 DPI), and the honest limits — blur, tiny text and waxy textures included.