Skip to content

Professional image sorting application for photographers. Organizes camera files (RAW/JPEG) by type with undo, drag & drop, and statistics.

License

Notifications You must be signed in to change notification settings

24Skater/ImageSorter

Repository files navigation

ImageSorter

Version License Platform Python

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.

What's New in v2.2.0

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

Features

  • 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.

Quick Start (Python GUI)

  1. Requirements: Python 3.8+ and install dependencies:
    pip install tkinterdnd2
    
  2. Run the app:
    python ImageSorterGUI_v4.py
    
  3. 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.

Configuration

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

Download the latest installer from GitHub Releases

Or build from source:

Packaging as an .exe

  • Install PyInstaller:
    pip install pyinstaller
    
  • Build the executable:
    python -m PyInstaller pyinstaller.spec
    
  • The .exe will be in the dist/ImageSorter/ folder.

Creating a Windows Installer

  • Use Inno Setup to create a professional installer with Start Menu and desktop shortcut support.
  • Compile imagesorter.iss with Inno Setup after building the .exe.
  • Output: dist/ImageSorterSetup.exe

PowerShell Script

  • CR3andJPGMover.ps1: Moves CR3 and JPG/JPEG files into CR3 and JPG subfolders, respectively.

Tests

  • Run the test script:
    python test_sorter.py
    

Contributing

See CONTRIBUTING.md.

Changelog

See CHANGELOG.md.

Screenshots

Main Window (v2.2.0)

Main Window Updated UI with Undo button and Drag & Drop support

Statistics Dashboard

Statistics Dialog Detailed breakdown by file type after sorting

Undo Ready

Undo Ready Undo button shows number of files that can be reversed

Legacy Screenshots

Click to view older screenshots

Original Main Window

Main Window

Sorting Progress

Sorting Progress


About

Professional image sorting application for photographers. Organizes camera files (RAW/JPEG) by type with undo, drag & drop, and statistics.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published