Duplicate Photo Finder

Runs entirely in your browser — photos are never uploaded

Drag & drop photos here (100+ is fine), or click to browse

JPG, PNG, WebP, GIF — compared by perceptual hash, not just file name

T
ALL TOOLS · THE CATALOG
68 single-purpose utilities · runs local
Browse all →
All tools process files entirely in your browser · Your data never leaves your device

Duplicate Photo Finder — Free, Private, Browser-Based

Drop in a batch of photos and find the duplicates — including resized, re-saved, and re-compressed copies that byte-comparison tools miss. Each image gets a perceptual dHash fingerprint, near-identical fingerprints are grouped, and you choose what to keep. Everything runs locally; your photos never leave your device.

Private by design. Photos are hashed, compared, and zipped entirely in your browser — nothing is uploaded to a server.

How to find duplicate photos on your computer

  1. Drop your photos in. Drag a batch of images (or click to browse) — 100+ photos are fine. JPG, PNG, WebP, and GIF all work. Hashing runs in chunks with a progress bar so the page stays responsive.
  2. Pick a match sensitivity. Exact catches identical images; Near (recommended) also catches resized and re-compressed copies; Loose adds crops and lightly edited versions.
  3. Review each duplicate group. Matching photos appear side by side with their dimensions and file size. The largest file in each group is pre-checked as the keeper — adjust the checkboxes as you like.
  4. Download the deduplicated set. Click "Download kept as ZIP" to get one archive with your checked keepers plus all unique photos — unchecked duplicates are left out.

Use Cases

Clean up a Downloads folder full of re-saved copies of the same screenshots
Deduplicate photos merged from multiple phone backups before archiving
Find the original among several re-compressed versions shared back to you over chat apps
Trim near-identical shots from a photo dump before uploading to a shared album
Reclaim disk space by identifying how much duplicated photo data a folder holds

Frequently Asked Questions

Are my photos uploaded to a server?

No. Hashing, comparison, and ZIP packaging all run in your browser. Your photos never leave your device.

How does it detect duplicates that aren’t byte-identical?

Each image is downscaled to a tiny grayscale grid and converted to a 64-bit perceptual "dHash" fingerprint. A resized or re-compressed copy of the same photo produces a nearly identical fingerprint, so the two are grouped even though the files differ.

What’s the difference between Exact, Near, and Loose?

They set how many fingerprint bits may differ: Exact (0 bits) means visually identical, Near (6) catches resizes and re-saves, Loose (10) also catches small crops and edits — at a slightly higher risk of false matches on very similar scenes.

How many photos can it handle?

Hundreds. Images are processed in small chunks with a progress bar, so even large batches don’t freeze the page. Memory is the practical limit — thousands of very large photos may strain older devices.

Which photo does it keep by default?

The largest file in each duplicate group — usually the original, highest-quality version. You can override any checkbox before downloading.

Will it match two different photos of the same scene?

Usually not at Exact or Near — burst shots taken moments apart typically differ by more than 6 bits. At Loose sensitivity, very similar compositions can occasionally group together, which is why every group is shown for review.

How perceptual hashing finds "the same photo" in different files

Two files of the same photo are almost never byte-identical — messaging apps re-compress, exports resize, editors re-save. Byte checksums (MD5/SHA) therefore miss most real-world duplicates. Perceptual hashes fingerprint what the image looks like instead: this tool uses dHash, which encodes the direction of brightness change across a 9×8 grayscale thumbnail into 64 bits.

SensitivityMax differing bitsWhat it catchesFalse-match risk
Exact0 of 64Identical images, format conversions of the same pixelsEffectively zero
Near6 of 64Resized copies, re-compressed JPEGs, chat-app re-savesVery low
Loose10 of 64Small crops, light color edits, watermarked variantsLow — review groups before deleting