I Had 6,000 Duplicate Photos. Here's How I Found Them.
By The Pluto Photos Team · Published · Updated · 5 min read
After years of importing photos from multiple devices, I ran a duplicate scan and found 6,000 wasted files. Not all of them had identical filenames.
How it happens
You copy photos from your phone to your laptop. Six months later you do it again and grab some of the same photos. You download your Google Takeout and import it — but half those photos were already in your library from a previous phone backup. Your partner shares a folder from a vacation and you drop it alongside your own copies of the same trip.
Before you know it, you've got thousands of duplicate files eating up disk space and making your library annoying to scroll through.
Why filenames don't help
The obvious approach is "delete files with the same name." But that misses a lot. When you download from Google Takeout, filenames get renamed. When you AirDrop a photo, it might get a new name. When WhatsApp compresses and sends a photo, it's a completely different file with a new name — but it's obviously the same image.
Simple file-hash matching (comparing the exact bytes of each file) catches identical copies but misses re-compressed or resized versions. You need something smarter.
Perceptual hashing
Pluto Photos uses a technique called perceptual hashing. Instead of hashing the raw file bytes, it scales the image down to a tiny grid, converts to grayscale, and computes a hash based on relative brightness patterns. Two photos that look the same to your eyes will produce the same (or very similar) hash — even if one is a 12 MP original and the other is a 2 MP WhatsApp-compressed copy.
In my library of ~45,000 photos, the duplicate scan found about 6,000 duplicates grouped into ~2,800 clusters. Some were exact copies, some were different resolutions of the same shot, and some were burst photos that looked nearly identical.
What I actually did
I opened the Duplicate Finder in Pluto Photos and let it scan. It took about three minutes for 45,000 photos. Then I went through the results:
Obvious duplicates: Same photo, two copies from different imports. I kept the one with the higher resolution (Pluto auto-selects this) and deleted the rest.
Near-duplicates: Photos from burst mode that were 95% identical. I picked the sharpest one and removed the others.
Intentional copies: A few groups were photos I'd edited — one original, one cropped version I'd shared on Instagram. I kept both and dismissed the duplicate group.
The whole review took about 30 minutes. I freed up about 18 GB.
Tips from doing this
- Run it after every major import. If you just dumped a Takeout export or a phone backup, scan for duplicates before doing anything else.
- Check the resolution before deleting. The bigger file isn't always the "better" one — sometimes the smaller one has better metadata or is the edited version you prefer.
- Don't stress about burst photos. If you took 8 nearly-identical shots, just pick the best one. You're never going to go back and appreciate the subtle differences between shots 3 and 5.
The math
At 3–5 MB per duplicate, 6,000 duplicates was roughly 18–30 GB. On a 1 TB drive that's not a crisis, but on a 256 GB laptop that's significant. More importantly, removing 6,000 photos made my library noticeably faster to browse and much less repetitive to scroll through.
There is a free tier in Pluto Photos (500 photos) if you want to test the duplicate finder on a subset. The full scan is part of the Pro tier — download here.
Part of the Duplicate Photo Guides guide.
Download Pluto Photos for Windows, macOS or Linux, or read more from the blog.