Initializing, please wait a moment

Pick a batch of photos; the tool groups exact duplicates and near-duplicates right in this tab. Nothing is uploaded - the scan runs on your device.

AI similarity threshold 0.90
Photos are read and compared locally - they never leave your browser.

Example result (what a scan looks like - no download needed):

Near-duplicates (same photo, one copy cropped and re-saved at lower JPEG quality)

holiday-photo.png

holiday-photo-copy.jpg

Hash distance 12 of 64 = grouped without any AI. With the optional AI pass this pair scores 0.958 embedding similarity, while a completely different photo scores 0.771 against the original (measured in a real browser run of this engine).

How to find duplicate photos in your browser:

  1. Click "Choose photos to scan" and select the pictures you want to check (up to 200 per batch).
  2. Read the groups: exact duplicates share identical file bytes; near-duplicates look the same after crops, resizes, or re-saves.
  3. Optionally run "Find similar with AI" - it downloads a ~35 MB model once, then compares photos by content on your device.
  4. Download the report and delete the copies you no longer want using your own file manager - the tool itself never deletes anything.

Duplicate & Similar Photo Finder (Local, No Upload)


This tool finds duplicate photos in a batch you pick, entirely inside your browser. It groups exact copies by comparing file bytes, spots near-duplicates whose pixels still match after crops or re-saves, and can optionally compare photos by content with an on-device AI model. Your photos are never uploaded.

You choose which photos to check rather than handing over a whole library, and a single batch can hold up to 200 pictures in the common formats - JPG, PNG, WebP, GIF, and BMP. Each one is read and fingerprinted on your own machine, one after another, so a short progress line tells you which photo is being scanned and, when the pass finishes, how many duplicate groups turned up.

Three ways a copy hides in your photo library

Exact duplicates are byte-for-byte identical files - the same picture saved twice under different names. The tool catches these with a SHA-256 checksum, which needs no download and gives a certain verdict. Near-duplicates are the same picture after a resize, a light crop, or a re-save at different JPEG quality; a compact pixel fingerprint (dHash) groups those. The third kind is the hardest: photos that were edited more heavily or exported through several apps. For that the optional AI pass compares what is IN the photo, so a cropped, re-compressed copy of the same shot still lands next to its original.

What happens on your device, and what downloads

The checksum and fingerprint scan run instantly with nothing fetched from the network. The AI pass is opt-in behind its own button and states its size first: about 35 MB of model weights download once and are cached by the browser, then every comparison runs on your hardware. On computers with a modern GPU the model uses it; otherwise it falls back to the CPU. Either way the photos themselves stay on your device on every path - the only network traffic is the model file.

Review before you delete anything

A similarity score is a judgement, not proof: two separate photos of the same beach can score high without being copies. That is why the tool shows every group side by side with file names and sizes, lets you tune the AI threshold, and exports a plain-text report instead of touching your files. Browsers cannot delete files from your disk, and this page does not try - you delete copies yourself in your own file manager, with the report as the checklist.

Scanned photos often turn out to be blurry or damaged rather than duplicated - the photo restoration tool sharpens and upscales those on the same no-upload terms. For the rest of the in-browser photo toolbox, see the image tools hub.

Why a re-saved photo slips out of the exact-match group

The exact-copy check runs a SHA-256 hash over the raw bytes of each file, so two photos only land in that group when every byte matches. A renamed file, or one copied from a different folder, still groups correctly under that test. But re-exporting the same picture at a different JPEG quality, or cropping it by a single pixel, changes the hash completely and drops the photo out of the exact-match group. It does not disappear from the results - it falls into the separate near-duplicate tier instead, which downscales each image to a 9x8 grid, turns the result into a 64-bit fingerprint, and groups any two images whose fingerprints differ by a Hamming distance of 12 bits or fewer. The two tiers answer different questions: one proves the files are byte-identical, the other estimates that they look the same, which is why a photo can land in one group but not the other depending on exactly how it was saved.

Related tools:

Tags: #image-editing

Related guides:

Loading reviews...

Frequently Asked Questions

Are my photos uploaded anywhere?

No. Photos are read with the browser's own file APIs and compared on your device. The only network traffic is the optional AI model download (about 35 MB, fetched once and cached); the photos themselves never leave the browser on any path.

What is the difference between an exact duplicate and a near-duplicate?

An exact duplicate has identical file bytes, verified with a SHA-256 checksum - a certain match. A near-duplicate is the same picture after a resize, light crop, or re-save; it is grouped when a 64-bit pixel fingerprint differs by 12 bits or fewer.

Do I need the AI download to find duplicates?

No. The checksum and fingerprint scan work with no download at all and catch exact copies and most re-saves. The AI pass is only for heavily edited or re-exported copies that pixel fingerprints miss, and it only starts when you click its button.

Can the tool delete the duplicate files for me?

No - web pages cannot delete files from your disk, and this one does not try. It groups photos for side-by-side review and gives you a plain-text report; you remove the copies yourself in your file manager.

Why does the AI pass sometimes pair photos that are not copies?

The AI compares photo content, so two different shots of the same subject can score above the threshold. Treat AI pairs as suggestions: raise the threshold slider for stricter matching and check each pair visually before acting on it.

How many photos can I scan at once?

Up to 200 per batch. Each photo is downscaled to a small working copy before hashing and comparing, so memory stays bounded; larger libraries can be scanned in a few batches.