>
Free Tier

Eight free Linux duplicate finders ranked by real cost


LinuxLinks published an updated round-up this month of the eight free GUI tools that handle the most common chore most Linux users do not realize they have: cleaning up the duplicate files that quietly fill a disk. The round-up lists Czkawka, BleachBit, dupeguru, DUDE, fclones-gui, FSlint, Dupe Clear, and Prunr. Each entry gets a paragraph. The combined read is around five minutes. Most users will only need one of them, and the question of which one is a question of cost, not a question of features.

Every duplicate finder on the list will find your duplicates. They differ in three costs: the time it takes to scan, the risk of deleting a file you wanted to keep, and the ongoing maintenance overhead of using them. Pick the tool that minimizes the cost you care about. That is the entire decision.

The first cost: scan time

The single biggest cost most people underestimate is how long the tool takes to scan a real disk. A 500 GB spinning-rust disk with 200,000 files can take anywhere from ten minutes to four hours depending on which tool you run and what comparison method it uses. The four-hour tools are not four times better at finding duplicates. They are four times more thorough. The question is whether you needed the thoroughness.

For most users with a typical home directory, the answer is no. The duplicates that matter are the ones in the obvious places: the Downloads folder, the Photos library, the Documents folder where multiple revisions of the same file ended up with different names. A tool that scans those folders and ignores the system caches will finish in under an hour and catch 90 percent of the duplicates. The remaining 10 percent are inside .config, .cache, and the package manager’s local repository, and most users would rather keep them than spend the disk space.

Among the eight on the list, the rough scan-time shape on a typical user directory (a few hundred GB across Documents, Downloads, Photos) is:

  • Czkawka runs in single-digit minutes with defaults and finishes the typical user directory inside a coffee break
  • dupeguru takes a bit longer because its UI is older; still well under an hour for a typical user directory
  • BleachBit duplicate mode is competitive, often faster than the GUI-only tools because it is built for system-level cleanup
  • fclones-gui defaults run in the same general range as Czkawka, with deeper scans adding significant time
  • FSlint is the slowest on the list, often the only one that takes more than an hour on a large directory
  • DUDE, Dupe Clear, and Prunr sit somewhere in the middle depending on the scan mode and parallelism settings

(These are the kind of relative-order rankings a user would notice after running each tool once on the same machine. Specific timings vary by hardware, file count, and what counts as a “typical” directory.)

The big variance is parallelism. Czkawka and fclones-gui are both built for multi-core scanning; FSlint is single-threaded by default; DUDE and Prunr are in between. On a six-core machine, the multi-threaded tools tend to be several times faster than the single-threaded ones.

The second cost: deletion risk

The next cost is the one that scares people. Once the tool identifies duplicates, what does the tool do with them? The tools split into three categories on this question.

Safe-by-default tools move duplicates to a trash folder or a holding directory, and let you delete them manually after reviewing. Czkawka, dupeguru, and Dupe Clear all work this way. The workflow is: scan, review the list, delete the ones you confirm are duplicates, keep the ones that look like false positives. The review step is real work, but the safety net is real too.

Aggressive tools have a “delete all” mode that removes duplicates without confirmation. fclones-gui and DUDE offer this. It is fast. It is also a one-way door. If the tool misclassifies a file as a duplicate (which happens when the file has the same hash but different metadata, or the same name but different contents), the file is gone.

Middle-ground tools offer soft-delete with a recycle bin, or delete-with-confirmation on a per-file basis. BleachBit sits here for its duplicate-finder mode; it is conservative by default but configurable. Prunr is similar in spirit.

For most users the right pick is a safe-by-default tool with a manual review step. The review step is what catches the false positives the scanner missed. A user who has ever recovered a deleted photo from a backup will not regret the extra ten minutes of clicking “confirm” on each deletion.

The third cost: ongoing maintenance

The cost most round-ups skip is the one that hits six months later. Some tools on this list are abandoned projects. They work today, but they will not get updates, and the Linux desktop environment will keep moving. GTK 4 libraries will replace GTK 3. Wayland will replace X11. Python 3.12 will deprecate things the tool depends on. A tool that is unmaintained today will not boot in a year or two.

Czkawka is the most actively maintained on the list, with regular releases and a public roadmap. dupeguru is also maintained, though more slowly. BleachBit has had a long quiet period with recent updates. FSlint is largely abandoned; it works but is unlikely to get future fixes. DUDE, Dupe Clear, and Prunr are smaller projects; whether they are maintained depends on the maintainer’s time, which is always uncertain.

If you want a tool you can install today and keep using for the next five years without thinking about it, pick one of the actively-maintained options. If you are willing to swap tools every couple of years as projects wind down, you can afford to start with the smaller or less-active tools.

The trade-off is: more features (some of the smaller tools have nice niche features) versus longer runway. Most users want the longer runway. Most power users want the niche features. Know which you are.

Which tool to install if you only install one

The goal is to install one tool and forget the rest. The right pick for most users is Czkawka. It is fast. It is safe by default. It is actively maintained. It has a GUI. It has a CLI mode for the same logic, so you can run it from a cron job once a quarter and never open the GUI. It scans photos, music, videos, and generic files. It finds empty files, broken symlinks, and similar images as bonus features that you will end up using at least once.

When Czkawka is not available in your distro’s repositories (it ships in most but not all), dupeguru is the next-best pick. The interface is older, the scans are slower, but the results are comparable and the tool has been maintained for over a decade.

Where neither Czkawka nor dupeguru fits, BleachBit’s duplicate-finder mode is a fine third choice. It will find duplicates, it will not delete them automatically, and it is installed by default on a surprising number of distros already.

What the round-up missed

The round-up focuses on GUI tools. The list does not include rdfind, fdupes, jdupes, or other CLI-only duplicates finders. These are faster than the GUI tools for power users, and they are scriptable, which means you can run them on a schedule. The CLI tools also tend to be safer: rdfind has a -dryrun mode by default, and fdupes will not delete anything without an explicit flag.

For a Linux user who is comfortable in the terminal, fdupes is the most pragmatic choice. It is in every distro repository. It has been stable for over a decade. It does one thing well. It is what most system administrators actually use.

The round-up also does not cover filesystem-level deduplication. ZFS, Btrfs, and btrfs-with-dedupe-on-demand offer deduplication at the filesystem layer, which catches duplicates the GUI tools cannot see (because the files have different paths and metadata). This is a different feature category. It is worth knowing it exists. It is also worth knowing that filesystem-level dedup is still experimental on Linux and has a real performance cost.

Trade-offs

The free-tools round-up model has one structural limitation that does not show up in the per-tool write-ups: every tool gets equal billing, even when the tools are not equally good. Czkawka is faster, safer, and better-maintained than FSlint, but the round-up gives them each the same paragraph length. A reader who reads the whole list and tries to choose based on the descriptions alone is going to be making the choice from a worse signal than the actual ranking.

A second trade-off: “best free GUI tool” depends on what you mean by “best.” Best for a first-time user is different from best for a system administrator. Best for an Ubuntu install is different from best for a Fedora Silverblue immutable install. The round-up is honest about this but does not collapse the nuance.

A third trade-off: deduplication is a temporary fix. The reason duplicates accumulate in the first place is that the user’s organization habit creates them. A tool that solves the immediate disk-pressure problem does not solve the underlying habit. Users who run a duplicate finder once and never run it again are back to the same disk pressure in six months.

What I would tell past me

Install Czkawka. Run it once. Review the results manually before letting it delete anything. The review step is the part that catches false positives. The first scan will probably find more duplicates than you expect; that is normal. After the first clean, run it once a quarter from a cron job with the CLI mode. Skip the tools that are unmaintained. Skip the tools that delete without confirmation. Skip filesystem-level dedup unless you have a specific reason. The disk space you save on a 1 TB drive is small. The peace of mind from a clean Downloads folder is large.

Leave a comment