Version 2.2.0 released! UX Enhancements: Undo/Rollback, Drag & Drop, and Statistics Dashboard.
A professional image sorting application that organizes camera files (RAW and JPEG) into folders by file type. Features a modern desktop GUI with undo functionality, drag & drop support, and detailed statistics.
UX Enhancements:
- β² Undo/Rollback - Reverse your last sort operation with one click
- π― Drag & Drop - Drop folders directly onto the window
- π Statistics Dashboard - See detailed breakdown by file type after sorting
Previous (v2.1.0) High Priority Enhancements:
- π Preview Mode | β‘ Background Threading | β Cancel Button
- π Comprehensive Logging | βοΈ Configuration Management | π‘οΈ Better Error Handling
See CHANGELOG.md for full details
- Sorts images by type (CR3, JPG, NEF, etc.) into corresponding folders.
- Supports many DSLR/mirrorless camera formats (CR2, CR3, NEF, ARW, DNG, TIFF, etc.).
- Undo/Rollback - Reverse your last sort operation with one click.
- Drag & Drop - Drop folders directly onto the window.
- Statistics Dashboard - Detailed breakdown by file type after sorting.
- Preview mode - See what will be moved before executing.
- Background threading - GUI remains responsive during operations.
- Cancel button - Stop sorting at any time.
- Custom file extensions - Add your own file types via configuration.
- Comprehensive logging - All operations logged to file for troubleshooting.
- Configuration management - Remembers your preferences and last used folder.
- Optionally moves unsupported files to an 'Other' folder.
- Recursive sorting (with skip for already sorted folders).
- Progress bar, file count preview, and robust error handling.
- Modular Python code (GUI and core logic separated).
- Windows installer with Start Menu and desktop shortcut support.
- Requirements: Python 3.8+ and install dependencies:
pip install tkinterdnd2 - Run the app:
python ImageSorterGUI_v4.py - Usage:
- Drag & drop a folder onto the window, or click 'Browse' to select.
- (Optional) Check 'Include subfolders (recursive)' to sort recursively.
- (Optional) Check 'Move unsupported files to Other folder'.
- Click 'Preview' to see what will be moved (recommended first time).
- Click 'Sort Images' to perform the sort operation.
- View statistics after sorting showing breakdown by type.
- Use 'Undo Last Sort' button to reverse if needed.
- Use 'Cancel' to stop during sorting.
- Check
logs/folder for detailed operation logs.
The app stores preferences in config.json:
- Last used folder
- Checkbox states (recursive, move_other)
- Window size and position
- Custom file extensions
To add custom file extensions, edit config.json and add to the custom_extensions array:
{
"custom_extensions": [".heic", ".webp"]
}Download the latest installer from GitHub Releases
Or build from source:
- Install PyInstaller:
pip install pyinstaller - Build the executable:
python -m PyInstaller pyinstaller.spec - The
.exewill be in thedist/ImageSorter/folder.
- Use Inno Setup to create a professional installer with Start Menu and desktop shortcut support.
- Compile
imagesorter.isswith Inno Setup after building the .exe. - Output:
dist/ImageSorterSetup.exe
CR3andJPGMover.ps1: Moves CR3 and JPG/JPEG files intoCR3andJPGsubfolders, respectively.
- Run the test script:
python test_sorter.py
See CONTRIBUTING.md.
See CHANGELOG.md.
Updated UI with Undo button and Drag & Drop support
Detailed breakdown by file type after sorting
Undo button shows number of files that can be reversed