tools / images / dupe finder

Dupe finder

Fingerprint images locally, group every near-copy beside the keeper the stated rule chose, decide which copies to discard, and leave with a written receipt. Nothing is uploaded and nothing is deleted.
Runs locally in your browser. Enable JavaScript to use the interactive tool. The practical details remain available below.

What Dupe finder actually does

A duplicate cleaner earns trust by showing its working, because the mistake it can make is permanent. The awkward part is that a fingerprint distance of 4 and a distance of 9 look equally authoritative in a list of filenames, and only one of them is worth acting on. This board never asks anyone to act on a number alone. Each picture that was fingerprinted appears inside the group it landed in, at a size where the difference between a second export and a different photograph is visible. The member the keeper rule chose sits in that group locked, because a review that can end with every copy marked for removal is a trap rather than a review. Every other member carries its own distance from that keeper and the width of the fingerprint it was measured across, so a distance can be read as the fraction of the signature it actually is. The fingerprint itself is the one the local command line tool computes, bit for bit, so a decision reached here and a decision reached in a terminal are the same decision.

How to use it

  • Add the pictures. Each one is read at its own resolution inside this tab, reduced to a 128 bit fingerprint, and listed with its dimensions and its size on disk.
  • Read the groups. Byte identical files come first as their own kind of group, then the sets the fingerprint pulled together, each showing the widest distance inside it and what that distance is worth.
  • Set the distance. Zero means the fingerprints agree exactly, one to two means the same picture, and the published account of this fingerprint reports visible false matches from four upward, so a wider setting is an invitation to look rather than a verdict.
  • Mark what to discard, then download the receipt. It names every group, its keeper, each member's distance, and the count on each side of the decision.

Useful for

  • Work out which of five nearly identical exports of one photograph is the full size original before clearing space.
  • Check a shared folder for pictures that were sent twice under different names, without handing the folder to a service.
  • Produce a written list of what to remove that somebody else can check before anything is removed.

Limits worth knowing

  • Nothing on disk is touched. This board reads and decides; removing or moving files is what the local tool with its move option is for.
  • A fingerprint describes brightness gradients, so it matches a resave, a rescale and a mild edit, and it does not match a crop, a flip or a rotation. Those read as different pictures.
  • Two unrelated photographs can land within eight bits of each other. That is why the distance is shown per member and why the wide bands are labelled as questions.
  • Colour is discarded before the fingerprint is taken, so two frames identical in shape but different in colour read as the same picture.
  • One picture is capped at forty megapixels, and each file is read one at a time so a large folder stays inside the tab's memory.
  • Raw camera files, video and anything the browser cannot decode are listed as unreadable rather than silently skipped.

Questions people ask

Are the pictures uploaded?

No. They are read, fingerprinted and grouped inside this tab. Nothing leaves the browser and the page keeps working with the network off.

Can this delete the duplicates?

No, by design. A web page cannot be given the power to delete a photo library, and it should not be. The receipt lists exactly what was chosen so the local tool, or a person, can act on it.

What decides which copy is the keeper?

The largest picture, then the largest file, then the shortest name. That member is locked in every group so a review can never end with nothing kept.

What does a distance of 6 mean?

Six of the fingerprint's 128 bits differ. It is inside the range where different photographs sometimes land, so it means look at the two pictures, not act on the number.

Does it match a cropped or rotated copy?

No. The fingerprint is taken over the whole frame, so moving or turning the frame changes it. A crop of twenty pixels already reads as a different picture.