Skip to content

Latest commit

 

History

56 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Photo Organizer v3 Photo Organizer v3.0

A Python application that automatically organizes your photos and videos into date-based folder structures using metadata analysis. Built with PyQt6 for a modern, user-friendly interface.

Quick Start

Prerequisites

  • Python 3.10 or higher
  • Windows OS (tested on Windows 11)

Using the Pre-built Executable

Download the latest release from the Releases page and run the installer.

Building from Source
  1. Install PyInstaller

    pip install pyinstaller
  2. Create executable

    cd ./Distribution
    
    pyinstaller gui.py.spec
Building from Source
  1. Install PyInstaller

    pip install pyinstaller
  2. Create executable

    pyinstaller gui.py.spec

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/PhotoOrganizer.git
    cd PhotoOrganizer
  2. Install dependencies

    pip install -r requirements.txt
  3. Run the application

    python src/gui.py

Usage

  1. Launch the Application: Run src/gui.py or use the installed executable
  2. Select Source Folder: Choose the folder containing your photos/videos
  3. Select Destination Folder: Choose where organized files should be placed
  4. Configure Options:
    • Sort into subfolders by day: Creates YYYY/MM/DD structure instead of YYYY/MM
    • Remove empty folders after sorting: Cleans up empty directories
  5. Start Sorting: Click "Start Sorting" and monitor progress

⚠️ Important

  • ALWAYS Backup Your Files: Always maintain backups before processing large photo collections
  • File Safety: Existing files with identical names are skipped (not overwritten)

Example Output Structure

Destination Folder/
├── 2023/
│   ├── 01/
│   │   ├── 15/          (if "Sort by day" enabled)
│   │   │   ├── IMG_001.jpg
│   │   │   └── VID_002.mp4
│   │   └── 20/
│   └── 02/
└── 2024/
    └── 03/

Supported Metadata Sources

Images

  • Primary: DateTimeOriginal (EXIF tag 36867 in Sub-IFD)
  • Fallback: DateTime (EXIF tag 306)
  • Formats: JPG, JPEG, PNG, TIFF, TIF, WebP, HEIC, HEIF, CR2, ARW, DNG, AVIF

Videos

  • Primary: recorded_date
  • Fallback: encoded_date, tagged_date, file_last_modification_date
  • Formats: MP4, AVI, MOV, MKV (using PyMediaInfo for metadata extraction)

Contributing

Contributions are welcome! Please feel free to submit a issue to discuss what you would like to change.

Core Components

About

Organize and sort your photos and files in a structured manner based on a specified date format.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages