Czkawka
A fast, multi-tool duplicate file finder with both a CLI and two GUI frontends (GTK4 and Slint), written entirely in Rust.
Czkawka (Polish for "hiccup") is a fast, free, and open-source tool for
finding and removing unnecessary files from your system. Written entirely in
Rust, it offers a CLI, a GTK4 desktop GUI, and a newer Slint-based GUI called
Krokiet โ all sharing the same czkawka_core library. With over 30k GitHub
stars, it has become one of the most popular disk-cleanup utilities in the Linux
ecosystem.
The project ships three distinct frontends: czkawka_cli for scripting and
headless use, czkawka_gui (GTK4, now in maintenance mode), and Krokiet
(Slint, the actively developed GUI). All three expose the same powerful scanning
engine with multi-threading and a persistent cache for repeat scans.
Features
- Duplicate files โ Find duplicates by name, size, or cryptographic hash
- Similar images โ Perceptual hashing to detect near-identical images regardless of resize or compression
- Similar videos โ Frame-based comparison to surface duplicate video files
- Same music โ Match tracks by audio tags or content fingerprint
- Empty folders and files โ Locate and remove zero-byte files and empty directory trees
- Temporary files โ Identify leftover build artifacts, editor swap files, and other junk
- Big files โ List the largest files consuming disk space
- Bad extensions โ Flag files whose extensions don't match their actual content type
- Broken files โ Detect corrupted or unreadable files
- Exif remover โ Strip EXIF metadata from images in bulk
- Invalid symbolic links โ Find dangling symlinks pointing to non-existent targets
- Multi-threaded scanning โ Parallelised across all CPU cores with optional scan cache for fast repeat runs
- Multiple frontends โ Use
czkawka_clifor automation or the GTK4/Slint GUIs for interactive cleanup
Installation
CLI
cargo install czkawka_cliGUI (Flatpak โ all distros)
# Krokiet (Slint GUI โ actively maintained)
flatpak install flathub com.github.qarmin.krokiet
# Czkawka GTK4 GUI (maintenance mode)
flatpak install flathub com.github.qarmin.czkawka
Both GUI applications are available on Flathub.
Arch Linux
# CLI + GTK4 GUI
yay -S czkawka
# Krokiet (Slint GUI)
yay -S krokietDebian / Ubuntu ยท Fedora
Pre-built binaries for Linux (CLI and GUI) are available on the
releases page. Download the
appropriate archive, extract it, and place the binary on your $PATH.
# Debian / Ubuntu
# No official package โ use the Flatpak above or download from the releases page.
# Fedora
# No official package โ use the Flatpak above or download from the releases page.Build from source
git clone https://github.com/qarmin/czkawka.git
cd czkawka
# CLI only
cargo build --release -p czkawka_cli
# GTK4 GUI (requires libgtk-4-dev)
cargo build --release -p czkawka_gui
# Krokiet (Slint GUI)
cargo build --release -p krokietUsage
Find duplicate files
# Scan home directory for duplicates by hash, print results to stdout
czkawka_cli duplicates --directories ~/
# Scan multiple directories, exclude a path, delete duplicates automatically
czkawka_cli duplicates \
--directories ~/Documents ~/Downloads \
--excluded-directories ~/.cache \
--delete-method AEO # AllExceptOldestFind similar images
# Search for perceptually similar images (similarity threshold 10)
czkawka_cli similar-images --directories ~/Pictures --similarity-preset HighFind empty folders
czkawka_cli empty-folders --directories ~/ProjectsFind the biggest files
# List the 25 largest files under /home
czkawka_cli biggest-files --directories /home --number-of-files 25Find temporary files
czkawka_cli temporary --directories ~/JSON output for scripting
# All subcommands support --json for machine-readable output
czkawka_cli duplicates --directories ~/ --json > duplicates.jsonInteractive GUI
Launch Krokiet or czkawka_gui from your application launcher or run:
krokiet # Slint GUI
czkawka_gui # GTK4 GUI
Select one or more directories in the sidebar, choose a scan type from the left panel, click Search, review the results, and use the action buttons to move, delete, or hardlink the unwanted files.
Czkawka vs similar tools
| Feature | Czkawka | fdupes | rmlint |
|---|---|---|---|
| Language | Rust | C | C |
| GUI | โ (GTK4 + Slint) | โ | โ |
| Similar images | โ | โ | โ |
| Similar videos | โ | โ | โ |
| Music dedup | โ | โ | โ |
| Scan cache | โ | โ | โ |
| JSON output | โ | โ | โ |
| Flatpak | โ | โ | โ |