Website profiles · Technology insights · Alternatives

dupeguru.voltaicideas.net

dupeGuru is a cross-platform (Linux, OS X, Windows) GUI tool to find duplicate files in a system. It’s 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 & Windows, it’s written in Python and uses Qt5.

No paid content found
Visit website
Profile views 6 Outbound visits 1 Normal
dupeGuru Full homepage screenshot

At a glance

Category
Development
Language
English
Paid-content signal
No paid content foundObserved
Registered
2013
Hosting
FastlyInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is dupeGuru?

dupeGuru is a free, cross-platform desktop application for finding duplicate files on your computer. It runs on Windows, macOS and Linux, and is written mostly in Python 3, with a Qt5 interface on Windows and Linux and a Cocoa/Objective-C interface on macOS. Rather than being a one-trick filename matcher, it offers several scanning modes and a fair amount of control over how aggressively it decides two files are "the same."

What it actually does

  • Filename scanning — finds files with matching names, and can use fuzzy matching so near-identical names still surface as duplicates.
  • Content scanning — compares file contents rather than names, which is what you want when the same file has been renamed or copied under different names.
  • Music mode — scans audio tags and displays music-specific details in the results, useful for cleaning up a library where the same track appears with slightly different metadata.
  • Picture mode — compares images fuzzily, so it can find pictures that look alike without being byte-identical (for example, resized or re-saved copies).
  • Customizable matching engine — threshold and engine settings can be adjusted to change how strict or loose the matching is.

Acting on results

dupeGuru doesn't just list duplicates; you can delete, move or copy the files it finds. Two design choices reduce the risk of deleting the wrong thing: a reference directory system, where files in a chosen folder are treated as the ones to keep, and a grouping system that presents duplicates in sets rather than as a flat list. Results can also be filtered and sorted, which matters most on low-threshold scans where false positives are expected.

Who it suits

Situation Fit
Large photo or music collections with near-duplicates Strong — Picture and Music modes target exactly this
Same file renamed or moved across drives Strong — content scanning
Just want identical-name files removed quickly Works, though simpler tools also do this
Need continuous, automatic deduplication Weaker — this is a scan-and-review desktop tool, not a background service

A practical starting point: run a content scan at a moderate threshold on one folder rather than your whole disk, review the grouped results, set a reference directory for anything you're unsure about, and only then delete or move. That workflow lets you judge the matching quality on your own files before trusting it at scale.

How does dupeGuru's fuzzy matching algorithm find similar filenames?

dupeGuru's fuzzy matching compares filenames approximately rather than requiring an exact character-for-character match. Instead of treating holiday-photo-2023.jpg and holiday_photo_2023 (1).jpg as unrelated, it measures how close the names are and surfaces them as potential duplicates. The same approximate logic is available in Picture mode, where it finds images that look similar without being byte-identical. You can adjust the matching engine's sensitivity in Preferences, so a stricter setting reduces false positives while a looser one catches more near-matches.

Where this helps in practice

  • Messy download folders: files saved with suffixes like - copy, (2) or slightly different punctuation get grouped together.
  • Music libraries: Music mode scans tags and shows music-specific details, useful when the same track was ripped twice with different filename conventions.
  • Photo archives: Picture mode catches resized or lightly edited versions that a filename-only scan would miss.

Trade-offs to expect

Fuzzy matching is a candidate generator, not a verdict. A low threshold returns more results, including some that only look alike; dupeGuru's grouping and reference-directory system are there to keep you from deleting something you meant to keep. If you plan to act on a large batch, scan a single folder first and raise the threshold until the list looks trustworthy.

A sensible next step: run one scan on a small test folder, sort the results by match percentage, and tune the engine settings before pointing it at your whole drive. For a second opinion on similar tools, see dupeGuru.

What are the differences between dupeGuru's Music mode and Picture mode?

dupeGuru's Music and Picture modes are two specialized scanning profiles within the same duplicate finder. Both are designed to catch duplicates that a plain filename scan would miss, but they look at different kinds of data and answer different questions.

Music mode

  • Scans audio tags rather than just filenames, so tracks with messy or inconsistent file names can still be matched.
  • Shows music-specific information in the results window, which makes it easier to judge whether two files really are the same recording.
  • Suited to people tidying a music library: duplicate rips, repeated downloads, or the same album stored under different naming conventions.

Picture mode

  • Scans pictures fuzzily, so it can surface images that are similar but not byte-for-byte identical.
  • Useful for near-duplicates: resized copies, lightly edited versions, or the same photo saved at different quality settings.
  • Less about exact identity than about visual similarity, which means results may need more review.

The practical difference

Music mode Picture mode
What it compares Audio tags and track metadata Image content, fuzzily
Typical match Same song, different filenames Similar-looking images
Main risk Tag errors or missing tags False positives from similar scenes

The trade-off is precision versus reach. Music mode leans on structured metadata, so it tends to be fairly precise when tags are in order. Picture mode deliberately loosens matching to catch visual near-duplicates, so expect to filter results more carefully, especially at low thresholds.

A useful next step: if you are cleaning a music collection, start with Music mode and check the tag columns before deleting anything. If you are clearing a photo library, run Picture mode, sort by similarity, and keep the largest or highest-quality copy in each group.

How can I use dupeGuru to safely delete duplicate files without accidental loss?

dupeGuru is built with a reference-directory system and grouping that are meant to keep you from deleting files you didn't intend to. The safe workflow is to let it find and group duplicates, then decide what to remove — and to keep a copy of anything you delete until you're satisfied.

A safe workflow

  1. Scan a copy, not your only copy. Point dupeGuru at a folder tree you can afford to experiment with, or make a backup first. This is the single biggest protection against accidental loss.
  2. Use the reference directory. When you scan, mark one folder as the reference. dupeGuru treats files there as the ones to keep, so duplicates elsewhere are the candidates for removal. This keeps you from deleting the "original" by mistake.
  3. Check the grouping. Results are grouped so you can see which files are considered duplicates of each other. Review a few groups before acting, especially with fuzzy matching, which can flag similar-but-not-identical files.
  4. Tune the matching engine before you trust it. dupeGuru lets you adjust the scanning engine settings (documented in the Preferences/help pages). For a first pass, use stricter settings; loosen them only when you understand what the looser match will include.
  5. Filter and sort to weed out false positives. dupeGuru offers multiple ways to filter and sort results, which matters most for low-threshold scans where similar files can show up as duplicates.
  6. Move or copy instead of deleting at first. dupeGuru can delete duplicates, but it can also move or copy them elsewhere. Sending candidates to a "to review" folder is reversible; deleting is not.
  7. Empty the trash/review folder only after you've confirmed. Once you've verified your files open and look right, remove the staged copies.

Which mode to use

If you're cleaning up… Use What to watch
Documents with near-identical names Filename scan with fuzzy matching Similar names aren't always the same file; check contents
Music libraries Music mode (scans tags) Tag data drives matches, so bad tags can mislead
Photo collections Picture mode (fuzzy picture matching) Finds similar-but-not-identical images; review before deleting

dupeGuru runs on Windows, macOS and Linux, and supports many interface languages. Its core appeal for cautious cleanup is that matching is customizable and results are reviewable before you act — but the tool can only protect you as far as your own review goes.

Next step: run one scan with a reference directory set, move the flagged duplicates to a staging folder rather than deleting, and only empty that folder after you've spot-checked the results.

Can I customize dupeGuru's scanning engine to find specific types of duplicates?

Yes. dupeGuru exposes a Preferences page where you can change scanning-engine settings, so the matching behaviour is tunable rather than fixed. The page also describes three distinct scanning approaches you can choose between, which is often the more important decision than fine-tuning thresholds.

What you can adjust

  • Scan mode: filenames, contents, or the specialised Music and Picture modes. Music mode reads tags and surfaces music-specific fields; Picture mode compares images fuzzily so near-identical shots are grouped.
  • Fuzzy matching: the filename scan finds similar names, not just exact ones. This is what makes it useful for files like holiday_2019.jpg and holiday-2019 (copy).jpg.
  • Engine settings: the help file's Preference page lists the individual scanning-engine parameters, which is the place to look when you want a narrower or broader net.
  • Result handling: filtering and sorting options let you discard false positives, which matters most when you deliberately run a low threshold.

Choosing a mode

Goal Mode to start with Trade-off
Reclaim space from exact copies Contents scan Slower than filename scanning, but far fewer false matches
Tidy messy naming Filename scan with fuzzy matching Fast, but similar names are not always the same file
De-duplicate a music library Music mode Relies on tags being present and correct
Find near-identical photos Picture mode Fuzzy image matching will surface visually similar but intentionally different shots

A practical next step

Start with a conservative threshold, scan a single folder, and sort results by size or match percentage before acting. The reference-directory and grouping systems exist to stop you deleting something you did not mean to remove, so keep one copy of a group marked as the reference and review the group before applying any delete, move or copy action.

If you want to compare against other duplicate finders before committing, dupeGuru itself is the reference point for its own feature set; alternatives such as Czkawka cover similar ground with a different interface.

What are the steps to install dupeGuru on Windows, macOS, or Linux?

dupeGuru is installed by downloading the build for your operating system from its site and running it—there is no single cross-platform package that covers all three systems.

Windows

On the site's download list, choose Windows (x64) or Windows (x32) depending on your machine, then run the installer or executable. The Linux/Windows interface is built with Qt5, so if you use a portable or unpacked build rather than an installer, you may need the usual Qt runtime files present.

macOS

Download the macOS (10.12+) build. The macOS UI layer is written in Objective-C with Cocoa, so the app behaves as a native Mac application. If macOS blocks the first launch because the app came from outside the App Store, allow it in System Settings → Privacy & Security.

Linux

The download page lists Ubuntu (x32, x64) builds. On Ubuntu and similar distributions, prefer installing through your distribution's package manager if a dupeGuru package is available, because that handles Qt5 dependencies and updates automatically. If you use the provided binary, make it executable and launch it from the terminal first so dependency errors are visible.

Source builds

If no binary fits your system, the site offers Source (zip) and Source (tar.gz). dupeGuru is written mostly in Python 3, so a source install means setting up Python and the Qt5 bindings, then running the application from the extracted source.

A practical first step after installing: open Preferences and review the scanning engine settings before your first scan. dupeGuru can match on filenames or contents, and its fuzzy matching is designed to surface similar—not just identical—names, so a quick look at the thresholds helps you avoid a flood of false duplicates. Its Music mode scans tags and its Picture mode compares images fuzzily, so choose the mode that matches what you are cleaning up.

Related questions

More questions →
What languages does dupeGuru support?

dupeGuru ships with interface translations for 11 languages: English, French, German, Chinese (Simplified), Czech, Italian, Armenian, Russian, Ukrainian, Brazilian Portuguese, and Vietnamese. If your system language is one of these, you can use dupeGuru without working in English. The list comes from the official dupeGuru site (dupeguru.voltaicideas.net), which states these as the supported languages.

Full list of supported languages

Language Notes
English Default/original language
French
German
Chinese (Simplified) Simplified script, not Traditional
Czech
Italian
Armenian
Russian
Ukrainian
Brazilian Portuguese Brazilian variant, not European Portuguese
Vietnamese

What this means in practice

  • Coverage is broad but not exhaustive. Major European and several Asian languages are included, but there is no Spanish, Japanese, Korean, Polish, Dutch, or Arabic on the official list. If your language is not listed, you will likely fall back to English.
  • "Brazilian Portuguese" is specified, not generic Portuguese. If you expect European Portuguese terminology, the translation may read differently from what you are used to.
  • "Chinese (Simplified)" is specified. Users who prefer Traditional Chinese are not covered by the official list.
  • The language applies to the interface, not your files. Changing the UI language does not affect how dupeGuru scans filenames, tags, or pictures — those depend on the scan mode and settings, not the display language.

How to check or change the language

The official page lists supported languages but does not document a specific menu path for switching them. In practice, desktop applications like dupeGuru typically follow one of these patterns:

  1. Follow the system locale automatically — the app opens in your OS language if it is supported.
  2. Offer a language selector in Preferences/Settings — you pick from a dropdown.

To verify on your machine:

  1. Install dupeGuru for your platform (Windows x64/x32, Ubuntu x32/x64, macOS 10.12+, or from source).
  2. Open the app and look at the Preferences or Settings area for a language option.
  3. If no selector exists, change your operating system's display language and restart dupeGuru — it should pick up the supported language automatically.

Expected result: the menus, buttons, and result-window labels appear in your chosen language. If your language is not among the 11 listed, expect English.

Common sticking points

  • Assuming your language is supported because the app is cross-platform. Cross-platform (Linux, OS X, Windows) refers to where it runs, not which languages it speaks. The two lists are separate.
  • Confusing scan language with UI language. dupeGuru's Music mode scans tags and its Picture mode scans images fuzzily — these work regardless of the interface language.
  • Expecting a partial translation. The official list presents these as supported languages; it does not describe partial or community-in-progress translations, so treat the list as the reliable reference.

If your language is on the list, you can use dupeGuru in it. If it is not, the tool still works — you will just navigate an English interface.

What Does a Postal Code API Return? Fields, Formats, and Common Use Cases

A postal code API returns structured location data for a given ZIP Code or Canadian postal code. A typical response includes the code itself, city, state or province, county, latitude/longitude, and — where available — ZIP+4 detail. More complete services add time zone, area codes, boundary geometry, and demographic fields. You send a code (or an address), and the API sends back a machine-readable record you can store, validate, or display.

This article explains what those responses contain, how requests are usually shaped, and where postal code data fits into real applications.

First, clear up the word "code"

The keyword "code" is overloaded, and that causes real confusion for developers:

  • Postal code — the ZIP Code (U.S.) or postal code (Canada) that identifies a delivery area.
  • API key — the credential you use to authenticate your requests. It is not postal data.
  • Source code — the program you write to call the API.

When someone searches for "postal code API code," they usually want example request/response code for a postal code service. The rest of this article treats it that way.

What a postal code API actually returns

Response fields vary by provider and endpoint, but the core set is fairly consistent. A single-code lookup commonly returns:

Field Example Notes
Postal code 90210 The code you queried
City Beverly Hills May be one of several acceptable place names
State / Province CA Two-letter abbreviation
County Los Angeles Useful for tax, territory, and reporting logic
Latitude / Longitude 34.0901, -118.4065 Usually the centroid of the area
ZIP+4 90210-1234 Present only when a specific delivery segment is known
Time zone America/Los_Angeles Helps with scheduling and display
Area codes 310, 424 Regional phone context

Richer datasets add 90+ fields: boundaries, population, income, elevation, and more. You rarely need all of them — request only what your application uses.

A representative JSON response

{
  "postal_code": "90210",
  "city": "Beverly Hills",
  "state": "CA",
  "county": "Los Angeles",
  "latitude": 34.0901,
  "longitude": -118.4065,
  "timezone": "America/Los_Angeles",
  "area_codes": ["310", "424"]
}

XML responses carry the same information in tag form. Choose based on what your stack parses most easily; JSON is the common default.

Common request patterns

Most postal code APIs support four patterns. Knowing which one you need prevents wasted calls.

1. Lookup by code

You have a code and want its details. This is the simplest and fastest call.

GET /lookup?code=90210

2. Reverse lookup by address

You have a street address and want to confirm or complete the code. This is the pattern behind checkout address validation.

GET /validate?street=...&city=...&state=...

3. Radius search

You have a center point and want all codes within a distance. Useful for store locators and delivery zones.

GET /radius?code=90210&miles=10

4. Batch validation

You have a file of addresses and want them cleaned in bulk. Batch endpoints trade latency for throughput and usually have their own limits.

Handling missing and ambiguous matches

Real data is messy. Plan for these cases:

  • No match — the code doesn't exist or the address is malformed. Return a clear error rather than a silent empty object.
  • Multiple matches — a city name may map to several codes, or a code may span several acceptable city names. Decide whether to pick the primary or return a list.
  • Partial match — the street is valid but the ZIP+4 isn't. Fall back to the 5-digit code.
  • Stale data — codes are added, retired, and reassigned. Refresh your dataset on a regular schedule.

A practical rule: validate at the point of entry, store the normalized result, and never re-derive it later from raw user input.

Practical use cases

  • Checkout address validation — catch typos before shipping, reduce failed deliveries.
  • Shipping zone lookup — map a code to a zone, carrier route, or rate table.
  • Data enrichment — append county, coordinates, or demographics to existing records.
  • Store and service locators — radius search to find nearby branches or coverage areas.
  • Territory and tax logic — county and boundary data drive jurisdiction rules.

Licensing and data-source considerations

Postal code data originates with national authorities — USPS in the United States and Canada Post in Canada. Providers license and repackage it, which is why accuracy, update frequency, and field coverage differ between services. Before committing:

  • Confirm the data source and how often it refreshes.
  • Check whether ZIP+4 and boundary data are included or sold separately.
  • Review usage limits and whether batch processing is allowed.
  • Read the license terms for redistribution and storage.

Pricing and plan details change, so check the provider's current documentation rather than relying on secondhand figures.

Getting started

  1. Decide which request pattern you need (lookup, reverse, radius, or batch).
  2. Pick the fields you'll actually store.
  3. Write a small test call and inspect the raw response.
  4. Add error handling for no-match and ambiguous cases.
  5. Cache results where the same codes repeat.

A postal code API is ultimately a translation layer: you give it a code or an address, and it gives back structured location facts. Understand the fields, match them to your use case, and handle the messy edges — that's most of the work.

How dupeGuru Helps Prevent Accidental File Deletion

dupeGuru reduces the risk of deleting the wrong file through two built-in safeguards: a reference directory system and a grouping system. According to the project's own description, its scanning engine was "especially designed with safety in mind," and these two mechanisms exist specifically to "prevent you from deleting files you didn't mean to delete." If your main worry is losing an original while clearing out duplicates, these features are the reason to look at dupeGuru rather than a raw file-listing script.

The reference directory system

A duplicate scan only makes sense once you decide which copy is the "original" and which copies are redundant. dupeGuru's reference directory concept addresses exactly this:

  • You point the scan at the locations you want to clean up.
  • You designate a reference location whose files are treated as the ones to keep.
  • Matches found elsewhere can then be treated as the duplicates to act on, rather than the file you care about.

The practical effect is that the tool's default framing of "which file is the duplicate" is anchored to a directory you chose, not to whichever file the scan happened to encounter first. That is the core protection: the decision about what counts as expendable is made by you before you start deleting, not by scan order.

The grouping system

dupeGuru presents results as groups of matching files rather than as a flat list of individual hits. Each group represents one set of files the engine considers duplicates of each other.

This matters for safety because:

  • You see the full set of copies together, so you can judge which one to keep in context.
  • Actions apply to a group, so you are less likely to act on a single file without realizing other copies exist.
  • It makes false positives visible — if a group contains files that clearly aren't the same, you can skip the whole group instead of deleting one member by mistake.

Filtering and sorting to weed out false duplicates

Low-threshold scans (especially fuzzy filename or picture matching) intentionally cast a wide net, which means some results will not be true duplicates. dupeGuru provides multiple ways to filter and sort results so you can "easily weed out false duplicates" before taking any action.

A sensible workflow for a cautious cleanup:

  1. Run the scan with a conservative (stricter) threshold first.
  2. Sort or filter the results to review the weakest matches.
  3. Remove obvious false positives from consideration.
  4. Only then apply actions to the remaining groups.

You are not forced to delete

Deletion is one option, not the only one. dupeGuru lets you delete, move, or copy the duplicates it finds. If you are not yet confident in a result set, moving duplicates to a separate folder is a reversible alternative to deleting them outright — you can verify nothing important was moved before clearing that folder yourself.

What dupeGuru does not do for you

The safety features reduce risk; they do not eliminate the need for judgment. Specifically:

  • The reference directory and grouping systems protect against acting on the wrong file within the tool's model, but you still choose the reference directory and confirm the actions.
  • Fuzzy matching (filenames, and pictures in Picture mode) is designed to find similar items, so a match is not proof of redundancy.
  • The project description does not claim any automatic backup or undo of deleted files, so treat deletion as final unless you use move or copy instead.

Quick decision guide

Your situation Suggested approach
Cleaning duplicates out of a folder while keeping a master copy Set the master folder as the reference directory
Unsure whether matches are real duplicates Use move instead of delete, then review
Fuzzy scan returned many weak matches Filter/sort results and discard false positives before acting
Music or photo libraries with near-identical files Use Music or Picture mode, then review groups individually

dupeGuru runs on Linux, macOS, and Windows, and is written mostly in Python 3 with Qt5 on Linux/Windows and Cocoa on macOS. The safety mechanisms above are part of the core engine, so they apply regardless of which platform build you use.

How Does dupeGuru Find Duplicate and Similar Files?

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.

What Is dupeGuru and What Does It Do?

dupeGuru is a cross-platform GUI tool for finding duplicate files on your computer. It scans either filenames or file contents, runs on Linux, macOS, and Windows, and adds specialized Music and Picture modes for tag-based and fuzzy image matching. It fits you if you want a visual, configurable way to locate duplicates before deciding what to delete, move, or copy — and you're comfortable installing a desktop application rather than using a command-line tool.

What dupeGuru actually does

The core job is simple: point it at folders, run a scan, and get a list of files it considers duplicates. Two scan approaches are available:

  • Filename scan — matches names, and uses a fuzzy matching algorithm so it can flag filenames that are similar but not identical.
  • Content scan — compares file contents rather than names.

That fuzzy filename matching is the feature that separates it from a strict "same name, same size" checker. It's designed to surface near-matches, which is useful when files have been renamed, copied, or exported with slight variations.

Modes for specific file types

Beyond the general scan, dupeGuru ships with two purpose-built modes:

Mode What it scans Why you'd use it
Music mode Tags Shows music-specific information in the results window, so you can compare tracks by metadata rather than filename alone
Picture mode Pictures, fuzzily Finds images that are similar but not exactly the same

Picture mode is the one to reach for when you suspect you have resized, re-compressed, or lightly edited copies of the same image — cases where a byte-for-byte comparison would miss the relationship.

Platform support

dupeGuru is cross-platform and runs on Linux, macOS, and Windows. The downloads page lists builds for Windows (x64 and x32), Ubuntu (x32, x64), macOS (10.12+), plus source archives in zip and tar.gz form.

Under the hood it's mostly Python 3, with a notable design choice: the same core Python code is paired with different GUI toolkits per platform. On macOS the UI layer is Objective-C using Cocoa; on Linux and Windows it's Python using Qt5. For you as a user, that mostly means the app looks and behaves natively on each system rather than being a single cross-platform skin.

The interface is available in English, French, German, Chinese (Simplified), Czech, Italian, Armenian, Russian, Ukrainian, Brazilian Portuguese, and Vietnamese.

Safety and result handling

Deleting the wrong file is the main risk with any duplicate finder, so it's worth knowing how dupeGuru guards against it. Two mechanisms are built in:

  • A reference directory system — you designate which location is the reference, so the tool knows which copies are the ones to keep.
  • A grouping system — duplicates are presented in groups, which makes it harder to act on a file you didn't mean to touch.

Once you've reviewed results, you're not limited to deletion. You can delete duplicates, or move or copy them elsewhere. Results can also be filtered and sorted in multiple ways, which matters most on low-threshold scans where false positives are more likely — sorting and filtering is how you weed those out before acting.

Is it the right tool for you?

dupeGuru is a reasonable fit if:

  • You want a GUI rather than scripting your own duplicate search.
  • You need cross-platform coverage across Linux, macOS, and Windows.
  • You care about similar filenames or similar images, not just exact matches.
  • You want to tune the matching engine — the help file's Preference page documents the scanning engine settings you can adjust to target exactly the kind of duplicates you want.

It's a weaker fit if you only ever need exact byte-for-byte matches on a single folder, where a simpler or built-in tool may be enough.

Getting started

  1. Go to the downloads section and pick the build for your platform — Windows (x64 or x32), Ubuntu (x32 or x64), or macOS (10.12+). Source archives are available if you'd rather build it.
  2. Install and launch the app.
  3. Choose a scan mode: standard (filename or content), Music, or Picture.
  4. Add the folders you want scanned and, where relevant, set your reference directory.
  5. Run the scan. Results appear grouped, and you can filter and sort them.
  6. Review the groups, then delete, move, or copy the duplicates you've confirmed.

If a scan returns too many near-matches, adjust the matching engine settings in Preferences and re-run rather than acting on a noisy first pass.

Website Overview

Identifiable technologies and additional version or configuration signals make the service easier to fingerprint, which may help targeted scanners narrow their checks. An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality.

Domain and Registration

Registered in 2013, this domain has about 13 years of history. That suggests continuity, although ownership and purpose may have changed. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is Cloudflare, Inc., a widely used domain service provider. The domain uses the common .net extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Proton Mail email service. DNSSEC is enabled, allowing validating resolvers to authenticate signed DNS data. No CNAME was found; the observed records resolve directly to addresses. SPF and DMARC are configured. DKIM status is unknown.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: CSP, Referrer-Policy, Permissions-Policy, clickjacking protection. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The cf-ray, x-cache, x-served-by, via response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.

Technology Stack Analysis

The public page identifies Jekyll 3.9.2, Cloudflare, Fastly, with exact versions exposed for 1 technologies. These details can narrow vulnerability checks, although exposure alone is not a vulnerability.

Search and Social Sharing

The meta description has 343 characters and may be shortened in search results. The Generator tag identifies Jekyll v3.9.2, making the publishing system easier to fingerprint. The canonical URL points to another host: https://dupeguru.voltaicides.net/. Search engines may consolidate indexing signals there. Open Graph is partially configured; og:image is missing. Twitter Card metadata is configured.

Hosting and Email

DNSCloudflare
HostingFastly
EmailProton Mail
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) Location unknown Inferred 104.21.12.32

Registration details

RDAP / WHOIS

RegistrarCloudflare, Inc.
Registered2013-05-30
Expires2027-05-30
Domain statusclient transfer prohibited
Nameserverssara.ns.cloudflare.com、will.ns.cloudflare.com
DNSSECsigned

DNS records

DNS

TypeNameValueTTLPriority
Adupeguru.voltaicideas.net104.21.12.32300—
Adupeguru.voltaicideas.net172.67.131.237300—
AAAAdupeguru.voltaicideas.net2606:4700:3031::ac43:83ed300—
AAAAdupeguru.voltaicideas.net2606:4700:3032::6815:c20300—
MXvoltaicideas.netmail.protonmail.ch30010
MXvoltaicideas.netmailsec.protonmail.ch30020
NSvoltaicideas.netsara.ns.cloudflare.com86400—
NSvoltaicideas.netwill.ns.cloudflare.com86400—
TXTvoltaicideas.netprotonmail-verification=758e56d4795c1b4318565915da85d36f772b2c9f300—
TXTvoltaicideas.netv=spf1 include:_spf.protonmail.ch mx ~all300—
DSvoltaicideas.net2371 13 2 c51c607bfe6d59b182b1d32cc72eb30b2a80b2cfcd0e2a648c8e04f408c5ee6f86400—
DMARC_dmarc.voltaicideas.netv=DMARC1; p=quarantine; rua=mailto:[email protected],mailto:[email protected]; sp=quarantine;300—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectvoltaicideas.net
IssuerGoogle Trust Services
Valid until2026-12-14T21:19 · Remaining when checked: 68 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
cache-controlmax-age=600
servercloudflare
strict-transport-securitymax-age=15552000
x-content-type-optionsnosniff
access-control-allow-origin*

Identified technologies

Jekyll 3.9.2CloudflareFastly

Pages, Search and Sharing

Meta descriptiondupeGuru is a cross-platform (Linux, OS X, Windows) GUI tool to find duplicate files in a system. It’s 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 & Windows, it’s written in Python and uses Qt5.
Canonical URLhttps://dupeguru.voltaicides.net/
LanguageEnglish (default)
Twitter Cardsummary

No rules found

User reviews (0)

  • No reviews yet.