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 | ✅ | ❌ | ❌ |