Smart File Duplicate Manager is an app for finding and managing duplicate files. It's written on Python using PyQt6.
By using this software, you agree to the full disclaimer terms.
Summary: Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
- Scan the selected folder and all subfolders
- Compare files by size, then by hash (xxHash, or MD5 if none)
- Multi-threaded scanning (uses all available processor cores)
- Filters by file size and extension
- Automatically determines the primary file in each group based on the following strategy:
- Oldest / Newest
- Smallest / Largest
- Shortest / Longest Path
- All other files in the group are automatically marked as duplicates
- Manually select files in each group (checkboxes)
- Ability to change the primary file in a group
- Globally select all duplicates / deselect all
- Move — duplicates are moved to the destination folder in a subfolder with the date and time. A JSON log with all information about the moved files is saved in the folder.
- Test Mode — simulates actions without actually moving
- View all previously moved files from JSON logs
- Selective file restore to their original folders
- Automatic log update and deletion of empty folders
- Three main panels:
- Left — scan settings
- Center — list of duplicate groups with statistics
- Right — group details and file list with checkboxes
- Search by file name
- Progress bar and status bar
- Confirmation of all important actions
- Hotkeys for basic operations
- Dark theme
# Cloning the repository
git clone https://github.com/smartlegionlab/smart-file-duplicate-manager.git
cd smart-file-duplicate-manager
python -m venv venv
source venv/bin/activate
# Installing dependencies
pip install -r requirements.txt
# Running
python app.py- Python 3.8 or higher
- Windows / Linux / macOS
- PyQt6 — GUI
- xxhash — fast hashing (optional)
- In the left panel, specify the scan folder and the duplicates folder.
- If necessary, adjust filters and select a strategy.
- Click "Start Scan."
- After scanning is complete, select the desired files (or use "Select All").
- To restore previously moved files, use the "Tools" → "Restore Files" menu.
| Action | Keys |
|---|---|
| Select Scan Folder | Ctrl+Shift+O |
| Select Duplicates Folder | Ctrl+Shift+D |
| Start scan | Ctrl+R |
| Cancel scan | Ctrl+Shift+C |
| Reset | Ctrl+X |
| Exit | Ctrl+Q |
| Select all duplicates | Ctrl+A |
| Deselect all | Ctrl+Shift+A |
| Test mode | Ctrl+T |
| Show statistics | Ctrl+I |
| Clear search | Ctrl+L |
| Move selected files | Ctrl+M |
| Restore files | Ctrl+Shift+R |
| Open duplicates folder | Ctrl+Shift+F |
| Keyboard Shortcuts | Ctrl+/ |
| About | Ctrl+H |
| Documentation | F1 |
| Report Issue | Ctrl+Shift+I |
| License | Ctrl+Alt+L |
Alexander Suvorov
- GitHub: @smartlegionlab
If you find this tool useful, please consider giving it a star on GitHub!
BSD 3-Clause License. See the LICENSE file for more details.
Made with ❤️ for the open-source community
