How Does dupeGuru Find Duplicate and Similar Files?

Updated

dupeGuru finds duplicates by scanning either filenames or file contents, depending on the mode you choose. Filename scans use a fuzzy matching algorithm, so they can surface files whose names are similar rather than identical. For music and pictures, dedicated modes scan tags or compare images fuzzily to catch files that aren't exact copies. You can then adjust the matching engine in Preferences to control how strict or loose those matches are.

The two core scan types

dupeGuru's engine works on one of two inputs, and the choice determines what counts as a "duplicate."

Scan type What it compares What it catches
Filename scan File and folder names Identical names, plus similar names via fuzzy matching
Content scan The bytes inside files Files with matching content, regardless of name

A filename scan is fast and useful when your duplicates share naming patterns. A content scan is the reliable way to catch the same file saved under different names, but it reads file data, so it takes longer on large drives.

How fuzzy filename matching works

The filename scan doesn't require an exact string match. Its fuzzy matching algorithm compares names and scores how similar they are, so vacation_photo_2019.jpg and vacation-photo-2019.jpg can be grouped as likely duplicates even though they differ in punctuation.

Because fuzzy matching produces scores rather than yes/no answers, low-threshold scans can return false positives. dupeGuru addresses this with filtering and sorting options in the results window, letting you weed out matches that aren't real duplicates before acting on them.

Specialized modes for music and pictures

Two modes change what the engine looks at:

  • Music mode scans audio tags and displays music-specific information in the results window. This lets you match tracks by their embedded metadata rather than filename alone.
  • Picture mode scans pictures fuzzily, so it can find images that are similar but not byte-for-byte identical — useful for resized, re-encoded, or lightly edited copies.

Both modes still feed into the same core Python engine; only the comparison logic and the results display change.

Tuning strictness in Preferences

The matching engine is customizable. The Preference page of the help file lists the scanning engine settings you can change, which is how you dial the scan toward "only exact duplicates" or toward "anything roughly similar." If a scan returns too many near-misses, tighten the relevant setting; if it misses files you expected to match, loosen it.

Safety when acting on results

dupeGuru is designed so you don't delete the wrong file. Its reference directory system and grouping system work together to prevent accidental deletion. Once results are shown, you can delete duplicates, or move or copy them elsewhere instead — so "removing" a duplicate doesn't have to mean destroying it.

Choosing a scan for your situation

  • Same files, different names → content scan.
  • Messy naming, same folder structure → filename scan with fuzzy matching.
  • Music library cleanup → Music mode.
  • Photo library with resized or edited copies → Picture mode.
  • Too many false positives → tighten the matching engine in Preferences and use result filtering.

dupeGuru runs on Linux, macOS, and Windows, with downloads for Windows (x64 and x32), Ubuntu (x32, x64), macOS (10.12+), and source archives. The interface is available in English, French, German, Chinese (Simplified), Czech, Italian, Armenian, Russian, Ukrainian, Brazilian Portuguese, and Vietnamese.