dupeGuru is a tool to find duplicate files on your computer. It can scan either filenames or contents. The filename scan features a fuzzy matching algorithm that can find duplicate filenames even when they are not exactly the same.

It is written mostly in Python 3 and has the peculiarity of using multiple GUI toolkits, all using the same core Python code. On OS X, the UI layer is written in Objective-C and uses Cocoa. On Linux and Windows, it's written in Python and uses Qt5. dupeGuru runs on macOS and Linux.

How does dupeGuru detect duplicate files?

dupeGuru uses a fuzzy matching engine that compares filenames, file sizes, and content hashes. This allows it to identify both exact duplicates and near-duplicates, such as photos with slight edits or songs with different bitrates. It also includes specialized modes such as Music Mode, which detects duplicates based on tags (artist, album, title), and Picture Mode, which compares image content even when resolutions differ slightly.

Can I customize dupeGuru's matching rules?

Yes, dupeGuru lets you adjust match sensitivity and scan type (Filename, Contents, or Tags). You can fine-tune how strictly it matches files by tweaking the similarity threshold in the preferences menu – useful when dealing with renamed files or slightly modified media.

Can dupeGuru safely delete or move duplicates?

Yes, After scanning, you can review detected duplicates and choose to delete, move, or rename them. The program also provides a "reference" file system, so you can easily keep one preferred version of each duplicate set.

Can dupeGuru scan external or network drives?

Yes, dupeGuru can analyze external USB drives, NAS devices, and mapped network folders. However, scanning over a network can be slower, so it's best to run scans locally or copy files temporarily to a local drive for optimal performance.

Features

Efficient

Find your duplicate files in minutes, thanks to its quick fuzzy matching algorithm. dupeGuru not only finds filenames that are the same, but it also finds similar filenames.

Good with music

It has a special Music mode that can scan tags and shows music-specific information in the duplicate results window.

Good with pictures

It has a special Picture mode that can scan pictures fuzzily, allowing you to find pictures that are similar, but not exactly the same.

Customizable

You can tweak its matching engine to find exactly the kind of duplicates you want to find. The Preference page of the help file lists all the scanning engine settings you can change.

Safe

Its engine has been especially designed with safety in mind. Its reference directory system as well as its grouping system prevent you from deleting files you didn't mean to delete.

Do whatever you want with your duplicates. Not only can you delete duplicates files dupeGuru finds, but you can also move or copy them elsewhere. There are also multiple ways to filter and sort your results to easily weed out false duplicates (for low threshold scans).

Supported languages: English, French, German, Chinese (Simplified), Czech, Italian, Armenian, Russian, Ukrainian, Brazilian, Vietnamese.

What's New

Features

  • Update Italian translations

Bug Fixes

  • Fix issue where cache db exceptions could prevent files being hashed (#1015)
  • Add extra guard for non-zero length files without digests to prevent false duplicates

Other Notes

  • Highly recommended for anyone using version 4.2.0 or later to update to this version, as the issue has existed since that version.
  • Release files hosted here are signed with GPG (sig)

OS packages

  • Debian archives for x64 (binary archive only compatible with systems using python 3.7/3.8/3.9/3.10)
  • RPM for x64, created from deb (only compatible with systems using python 3.7/3.8/3.9/3.10)
  • macOS release is compatible with Intel and M1 Mac, and is signed, however not with a paid developer subscription (#945)
  • Windows Packages have both installer (exe) and portable (zip) versions. NOTE windows versions were built using python 3.8 and are only compatible with Windows 7 or later.
  • Arch Linux package is maintained by @glubsy
  • Ubuntu PPA built by @eugenesan