Czkawka (tch•kav•ka (IPA: [ˈʧ̑kafka]), "hiccup" in Polish) is a simple, fast, and free app to remove unnecessary files from your computer.
Krokiet (IPA: [ˈkrɔcɛt]), "croquet" in Polish) is the same as above, but uses Slint frontend.
- Written in memory-safe Rust
- Amazingly fast - Due to using more or less advanced algorithms and multithreading
- Free, open-source, and without ads
- Multiplatform - Works on Linux, Windows, macOS, FreeBSD, and many more
- Cache support - Second and further scans should be much faster than the first one
- CLI frontend - For easy automation
- GUI frontend - Uses GTK 4 or Slint frameworks
- No spying - Czkawka doesn't have access to the Internet, nor does it collect any user information or statistics
- Multilingual - Supports multiple languages like Polish, English or Italian
- Multiple tools to use:
- Duplicates - Finds duplicates based on file name, size or hash
- Empty Folders - Finds empty folders with the help of an advanced algorithm
- Big Files - Finds the provided number of the biggest files in given location
- Empty Files - Finds empty files across the drive
- Temporary Files - Finds temporary files
- Similar Images - Finds similar images, with possible slight variations (different resolution, watermarks)
- Similar Videos - Finds similar videos
- Same Music - Finds similar music by tags or by reading content and comparing it
- Invalid Symbolic Links - Shows symbolic links which point to non-existent files/directories
- Broken Files - Finds files that are invalid or corrupted
- Bad Extensions - Finds files whose content doesn't match their extension
Changelog and new releases can be found in GitHub releases or in CHANGELOG.md.
You can find more about the latest version in the Medium article.
Each tool uses different technologies, so you can find instructions for each of them in the appropriate file:
While Czkawka only finds the most basic ones, BleachBit is a master at finding and removing temporary files, so these two apps shouldn't be directly compared or be considered as an alternative to one another.
In this comparison, remember that even if the apps have the same features, they may work differently (e.g., one app may have more options available).
Czkawka | Krokiet | FSlint | DupeGuru | BleachBit | |
---|---|---|---|---|---|
Language | Rust | Rust | Python | Python/Obj-C | Python |
Framework base language | C | Rust | C | C/C++/Obj-C/Swift | C |
Framework | GTK 4 | Slint | PyGTK2 | Qt 5 (PyQt)/Cocoa | PyGTK3 |
OS | Lin,Mac,Win | Lin,Mac,Win | Lin | Lin,Mac,Win | Lin,Mac,Win |
Duplicate finder | ✔ | ✔ | ✔ | ✔ | |
Empty files | ✔ | ✔ | ✔ | ||
Empty folders | ✔ | ✔ | ✔ | ||
Temporary files | ✔ | ✔ | ✔ | ✔ | |
Big files | ✔ | ✔ | |||
Similar images | ✔ | ✔ | ✔ | ||
Similar videos | ✔ | ✔ | |||
Music duplicates (tags) | ✔ | ✔ | ✔ | ||
Invalid symlinks | ✔ | ✔ | ✔ | ||
Broken files | ✔ | ✔ | |||
Names conflict | ✔ | ✔ | ✔ | ||
Invalid names/extensions | ✔ | ✔ | ✔ | ||
Installed packages | ✔ | ||||
Bad ID | ✔ | ||||
Non stripped binaries | ✔ | ||||
Redundant whitespace | ✔ | ||||
Overwriting files | ✔ | ✔ | |||
Multiple languages | ✔ | ✔ | ✔ | ✔ | |
Cache support | ✔ | ✔ | ✔ | ||
In active development | Yes | Yes | No | Yes | Yes |
There are many similar applications to Czkawka on the Internet, which do some things better and some things worse:
- DupeGuru - Many options to customize; great photo compare tool
- FSlint - A little outdated, but still has some tools not available in Czkawka
- AntiDupl.NET - Shows a lot of metadata of compared images
- Video Duplicate Finder - Finds similar videos (surprising, isn't it?), supports video thumbnails
Due to limited time, the biggest emphasis is on the GUI version, so if you're looking for really good and feature-packed console apps, then take a look at these:
- Fclones - One of the fastest tools to find duplicates; it is also written in Rust
- Rmlint - Nice console interface and is feature packed
- RdFind - Fast, but written in C++ ¯\_(ツ)_/¯
Contributions to this repository are welcome.
You can help by creating:
- Bug reports - Memory leaks, unexpected behavior or crashes
- Feature proposals - Proposal to change/add/delete some features
- Pull requests - Implementing a new feature yourself or fixing bugs
If the change is bigger, then it is a good idea to open a new issue to discuss changes, but issues with
the label
PR welcome
are already checked and accepted - Documentation - There is an instruction which you can improve
- Translations - Instructions for translating files are available here
- External contributions - The app uses many external libraries like lofty, image-rs or symphonia, so improving these libraries will automatically improve Czkawka
You can also help by doing other things:
- Creating text articles - LinuxUprising or Ubunlog
- Adding Czkawka to repositories - Alpine Linux, NixOS or OpenMandriva
- Creating videos - First Video or Spanish Tutorial
- Recommending it to others
Big thanks to Pádraig Brady, creator of the fantastic FSlint, because without his work, I wouldn't create this tool.
Thanks to all the people who create patches for this program, make it available on other systems, create videos, articles about it, etc.
Also, I really appreciate the work of people that create crates on which Czkawka is based, and for that I try to report bugs to make it even better.
If you're using the app, I would appreciate a donation for its further development, which can be done here.