๐ธ Smart Google Photos organizer! Clean files, extract dates, embed metadata, sort by date, generate reports. Supports 50+ formats including RAW.
Rust
304
13 commits
updated May 17, 2026
ย
ย
ย
Transform your messy Google Photos Takeout into beautifully organized media libraries!
MetaSort is your all-in-one solution for organizing Google Photos Takeout exports (or any messy media folder). It's lightning-fast, user-friendly, and works on both macOS and Windows.
./scripts/build_macos.sh
Run_MetaSort.command to start!scripts/install_windows.bat โ "Run as administrator"# Clone and build
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort
cargo build --release
cargo run --release
If MetaSort saved you hours, please consider supporting the project!
Every contribution, no matter how small, makes a difference and helps keep MetaSort free and actively maintained.
๐ก Don't worry! Our installation scripts handle all dependencies automatically.
# Download and extract MetaSort
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort
# Build and create launchers
./scripts/build_macos.sh
# 1. Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 2. Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Press 1 when prompted, then restart Terminal
# 3. Install ExifTool
brew install exiftool
# 4. Build MetaSort
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort
cargo build --release
# Run PowerShell installer
powershell -ExecutionPolicy Bypass -File scripts/install_windows.ps1
# Or run batch installer
scripts/install_windows.bat
# 1. Install Rust from https://rustup.rs/
# 2. Install ExifTool
winget install ExifTool.ExifTool
# 3. Build MetaSort
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort
cargo build --release
Run_MetaSort.commandcargo run --release or use the generated executableMetaSort_Output)MetaSort will:
MetaSort_Output/Media Files/MetaSort_Output/Technical Files/MetaSort_Output/Technical Files/report.htmlAfter processing, you'll find:
MetaSort_Output/
โโโ Media Files/
โ โโโ 2023/
โ โ โโโ 01_January/
โ โ โ โโโ Photos/
โ โ โ โโโ Videos/
โ โ โ โโโ Screenshots/
โ โ โโโ 02_February/
โ โโโ 2024/
โโโ Technical Files/
โ โโโ report.html # Beautiful summary report
โ โโโ processing_log.csv # Detailed processing log
โ โโโ metadata_summary.csv # Metadata statistics
โ โโโ error_log.txt # Any issues encountered
โโโ Original Files/ # Backup of original structure
MetaSort can extract dates from countless filename patterns:
IMG-20220101-WA0001.jpg โ 2022:01:01 00:00:00Screenshot_2023-01-01-12-00-00.png โ 2023:01:01 12:00:00photo_2023-01-01 12.00.00.jpg โ 2023:01:01 12:00:0020230101_123456.jpg โ 2023:01:01 12:34:56PXL_20230101_123456789.jpg โ 2023:01:01 12:34:56DSC01234_20230101_123456.JPG โ 2023:01:01 12:34:56IMG_20230101_120000.jpg โ 2023:01:01 12:00:00wallpaper - IMG_20240113_143213Jan 13 2024 โ 2024:01:13 14:32:13San-1 Oct 2024.jxl โ 2024:10:01 00:00:00RMLmc20250531_115820_RMlmc.7 โ 2025:05:31 11:58:20๐ก MetaSort is smart! If your filename contains a date, it will likely find it!
# Run with specific options
cargo run --release -- --help
# Process specific folder
cargo run --release -- --input "/path/to/folder"
# Custom output directory
cargo run --release -- --output "/path/to/output"
macOS:
brew install exiftool
Windows:
winget install ExifTool.ExifTool
macOS:
chmod +x scripts/build_macos.sh
Windows:
macOS:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Windows:
Run_MetaSort.command instead of app bundlesMetaSort_Output/Technical Files/MetaSort/
โโโ ๐ src/ # Source code
โ โโโ main.rs # Main application
โ โโโ platform.rs # Cross-platform compatibility
โ โโโ ui.rs # User interface & progress bars
โ โโโ media_cleaning.rs # File cleaning & organization
โ โโโ metadata_extraction.rs # JSON metadata extraction
โ โโโ metadata_embed.rs # Metadata embedding
โ โโโ sort_to_folders.rs # File sorting & folder creation
โ โโโ csv_report.rs # CSV report generation
โ โโโ html_report.rs # HTML report generation
โ โโโ filename_date_guess.rs # Date extraction from filenames
โ โโโ utils.rs # Utility functions
โโโ ๐ scripts/ # Build & installation scripts
โ โโโ build_macos.sh # macOS build script
โ โโโ build_windows.bat # Windows build script
โ โโโ install_windows.ps1 # Windows installer (PowerShell)
โ โโโ install_windows.bat # Windows installer (Batch)
โโโ ๐ docs/ # Documentation
โ โโโ SIMPLE_INSTALL.md # Non-technical user guide
โ โโโ CROSS_PLATFORM_CHANGES.md # Technical details
โโโ ๐ assets/ # Resources
โ โโโ logo.png # MetaSort logo
โ โโโ upi.png # UPI QR code
โโโ ๐ Run_MetaSort.command # Easy launcher (macOS)
โโโ ๐ MetaSort.command # Advanced launcher (macOS)
โโโ ๐ README.md # This file
โโโ ๐ LICENSE.txt # Apache 2.0 License
โโโ ๐ Cargo.toml # Rust project configuration
We welcome contributions! Here's how you can help:
MetaSort is licensed under the Apache License 2.0 - see the LICENSE.txt file for details.
This means you can:
Requirements:
11 commits
2 commits
Rust
87.1%
PowerShell
5.0%
Shell
4.3%
Batchfile
3.6%
๐ธ Smart Google Photos organizer! Clean files, extract dates, embed metadata, sort by date, generate reports. Supports 50+ formats including RAW.
Rust
304
13 commits
updated May 17, 2026
ย
ย
ย
Transform your messy Google Photos Takeout into beautifully organized media libraries!
MetaSort is your all-in-one solution for organizing Google Photos Takeout exports (or any messy media folder). It's lightning-fast, user-friendly, and works on both macOS and Windows.
./scripts/build_macos.sh
Run_MetaSort.command to start!scripts/install_windows.bat โ "Run as administrator"# Clone and build
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort
cargo build --release
cargo run --release
If MetaSort saved you hours, please consider supporting the project!
Every contribution, no matter how small, makes a difference and helps keep MetaSort free and actively maintained.
๐ก Don't worry! Our installation scripts handle all dependencies automatically.
# Download and extract MetaSort
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort
# Build and create launchers
./scripts/build_macos.sh
# 1. Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 2. Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Press 1 when prompted, then restart Terminal
# 3. Install ExifTool
brew install exiftool
# 4. Build MetaSort
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort
cargo build --release
# Run PowerShell installer
powershell -ExecutionPolicy Bypass -File scripts/install_windows.ps1
# Or run batch installer
scripts/install_windows.bat
# 1. Install Rust from https://rustup.rs/
# 2. Install ExifTool
winget install ExifTool.ExifTool
# 3. Build MetaSort
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort
cargo build --release
Run_MetaSort.commandcargo run --release or use the generated executableMetaSort_Output)MetaSort will:
MetaSort_Output/Media Files/MetaSort_Output/Technical Files/MetaSort_Output/Technical Files/report.htmlAfter processing, you'll find:
MetaSort_Output/
โโโ Media Files/
โ โโโ 2023/
โ โ โโโ 01_January/
โ โ โ โโโ Photos/
โ โ โ โโโ Videos/
โ โ โ โโโ Screenshots/
โ โ โโโ 02_February/
โ โโโ 2024/
โโโ Technical Files/
โ โโโ report.html # Beautiful summary report
โ โโโ processing_log.csv # Detailed processing log
โ โโโ metadata_summary.csv # Metadata statistics
โ โโโ error_log.txt # Any issues encountered
โโโ Original Files/ # Backup of original structure
MetaSort can extract dates from countless filename patterns:
IMG-20220101-WA0001.jpg โ 2022:01:01 00:00:00Screenshot_2023-01-01-12-00-00.png โ 2023:01:01 12:00:00photo_2023-01-01 12.00.00.jpg โ 2023:01:01 12:00:0020230101_123456.jpg โ 2023:01:01 12:34:56PXL_20230101_123456789.jpg โ 2023:01:01 12:34:56DSC01234_20230101_123456.JPG โ 2023:01:01 12:34:56IMG_20230101_120000.jpg โ 2023:01:01 12:00:00wallpaper - IMG_20240113_143213Jan 13 2024 โ 2024:01:13 14:32:13San-1 Oct 2024.jxl โ 2024:10:01 00:00:00RMLmc20250531_115820_RMlmc.7 โ 2025:05:31 11:58:20๐ก MetaSort is smart! If your filename contains a date, it will likely find it!
# Run with specific options
cargo run --release -- --help
# Process specific folder
cargo run --release -- --input "/path/to/folder"
# Custom output directory
cargo run --release -- --output "/path/to/output"
macOS:
brew install exiftool
Windows:
winget install ExifTool.ExifTool
macOS:
chmod +x scripts/build_macos.sh
Windows:
macOS:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Windows:
Run_MetaSort.command instead of app bundlesMetaSort_Output/Technical Files/MetaSort/
โโโ ๐ src/ # Source code
โ โโโ main.rs # Main application
โ โโโ platform.rs # Cross-platform compatibility
โ โโโ ui.rs # User interface & progress bars
โ โโโ media_cleaning.rs # File cleaning & organization
โ โโโ metadata_extraction.rs # JSON metadata extraction
โ โโโ metadata_embed.rs # Metadata embedding
โ โโโ sort_to_folders.rs # File sorting & folder creation
โ โโโ csv_report.rs # CSV report generation
โ โโโ html_report.rs # HTML report generation
โ โโโ filename_date_guess.rs # Date extraction from filenames
โ โโโ utils.rs # Utility functions
โโโ ๐ scripts/ # Build & installation scripts
โ โโโ build_macos.sh # macOS build script
โ โโโ build_windows.bat # Windows build script
โ โโโ install_windows.ps1 # Windows installer (PowerShell)
โ โโโ install_windows.bat # Windows installer (Batch)
โโโ ๐ docs/ # Documentation
โ โโโ SIMPLE_INSTALL.md # Non-technical user guide
โ โโโ CROSS_PLATFORM_CHANGES.md # Technical details
โโโ ๐ assets/ # Resources
โ โโโ logo.png # MetaSort logo
โ โโโ upi.png # UPI QR code
โโโ ๐ Run_MetaSort.command # Easy launcher (macOS)
โโโ ๐ MetaSort.command # Advanced launcher (macOS)
โโโ ๐ README.md # This file
โโโ ๐ LICENSE.txt # Apache 2.0 License
โโโ ๐ Cargo.toml # Rust project configuration
We welcome contributions! Here's how you can help:
MetaSort is licensed under the Apache License 2.0 - see the LICENSE.txt file for details.
This means you can:
Requirements:
11 commits
2 commits
Rust
87.1%
PowerShell
5.0%
Shell
4.3%
Batchfile
3.6%