Features
Find duplicate product images
How Easy Image Organizer's perceptual duplicate scanner works, what 'same product' vs 'across products' means, and how to clean up duplicates in bulk.
Updated May 20, 2026
The Find Duplicates tool scans every product image in your store, groups visually identical ones, and lets you clean them up in bulk. This page covers how it works and the cleanest way to use it.
How the scanner works
For every product image in your store:
- The app downloads a small thumbnail (100 px on the long side) from Shopify's CDN.
- It computes a perceptual hash of the thumbnail - a 16-bit fingerprint of how the image looks.
- Two images with the same hash are considered duplicates (even if their files are different - different dimensions, different compression, different colour profiles).
- Groups of matching hashes are presented for review.
Perceptual hashing means the scanner catches:
- The same image uploaded at two resolutions.
- The same image saved with different compression.
- The same image with a slightly different colour profile.
- The same image with imperceptible noise added.
It doesn't catch:
- Cropped versions of the same image (different perceptual fingerprint).
- Heavily edited versions (filters, recolours).
- Different angles of the same product.
Running a scan
- Click Find Duplicates in the side nav.
- Click Scan for duplicates (or Re-scan if you've scanned before).
- The scan walks through your catalog. Progress shows in real time: "X / Y images scanned".
- When the scan finishes, duplicate groups appear below.
The first scan on a 5k-product store takes about a minute. Subsequent scans are faster: Easy Image Organizer caches hashes by image URL, so unchanged images skip rehashing. New uploads are hashed fresh.
There's a 30-minute cooldown between full scans, to keep things polite to Shopify's APIs. If you need to verify after a cleanup, the cooldown applies.
Result groups
Each duplicate group shows:
- A thumbnail of the image.
- How many times it appears in your catalog.
- Which products it appears on (links).
- A delete icon per occurrence.
You can also tab between three views at the top:
- All. Every duplicate group.
- Same product. Groups where the image appears multiple times on the same product (often an upload mistake).
- Across products. Groups where the image appears on multiple different products (often supplier images leaking).
"Same product" cleanup
When the same image appears on a single product multiple times, it's almost always an upload mistake. Delete every occurrence except one. The "Same product" tab makes this easy:
- Open the tab.
- For each group, click delete on every thumbnail except one.
- Save.
The image strip on the product page updates with the surviving image.
"Across products" cleanup
This is the more interesting case. Common scenarios:
- Supplier stock photos leaking. A generic "beach tote" image appearing on six different bags.
- Placeholder images. A default "image coming soon" appearing on dozens of new products.
- Brand assets used as hero. A logo or brand banner appearing as product image 1 on all products from a vendor.
How to handle each:
- Supplier leaks: delete from every product, replace with unique photography (or PackScene-generated images).
- Placeholders: delete from products that now have real photos.
- Brand assets used as hero: if intentional, leave them. If accidental, delete.
Pausing and resuming scans
A scan can be interrupted - browser refresh, navigation away, network blip. Easy Image Organizer detects interrupted scans and offers a Resume scan button on next visit. Resume picks up from the last completed image without re-hashing what was already done.
Deletion safety
Deleting an image:
- Only affects the product, not the underlying file in your Shopify Files. Other products using the file are unaffected.
- Stages as "Unsaved" until you click Save.
- Can be undone (per-row) before saving.
After saving, the deletion is in Shopify. To re-add a deleted image, you'd need to re-upload it (or use Files to re-attach if it still exists there).
SEO and Core Web Vitals benefits
Why this matters beyond catalog tidiness:
- Google Image Search demotes pages with duplicate visual content. Even on the same domain, repeating the same image across many pages hurts ranking.
- Duplicates inflate page weight. Even with CDN dedup, each duplicate still gets requested and decoded on the customer's browser - hurts Largest Contentful Paint.
- Customer confusion. Two tabs open with the same hero image makes the catalog look smaller than it is.
For more on this, see our blog post How to find duplicate product images on Shopify.
Cooldown and performance
- Full scan cooldown: 30 minutes between scans.
- Concurrent downloads: 5 (deliberately throttled so we don't hit Shopify rate limits).
- Hash size: 16-bit (fast, accurate for visual duplicates; not designed for forensic image comparison).
- Cache: scans skip images whose URLs haven't changed since the last scan.
What's next
- Bulk alt text and filenames - clean up alt text on the survivors after dedup.
- Reorder product images - reorder before/after deduplication.
Frequently asked questions
What's a perceptual hash and why does it matter?
A perceptual hash is a fingerprint of what an image looks like, not of its bytes. The same photo saved at two different resolutions produces two different file hashes (different bytes) but the same perceptual hash. Byte comparison would miss this; perceptual hashing catches it.
How is this different from Shopify's native dedup?
Shopify's CDN deduplicates at the storage layer - you don't pay for the same bytes twice. But the admin doesn't surface "this image is used 6 times across your products". Easy Image Organizer is the admin-level dedup tool Shopify doesn't ship.
Is it safe to delete duplicates?
Yes, with one caveat: check which image is in position 1 (the PDP hero) before deleting. If you delete the position-1 image, position-2 becomes the new hero, which is sometimes a back-of-product shot you don't want as the lead. Verify position before deleting.