SkillAgentSearch skills...

MetaSort

๐Ÿ“ธ Smart Google Photos organizer! Clean files, extract dates, embed metadata, sort by date, generate reports. Supports 50+ formats including RAW.

Install / Use

/learn @iamsanmith/MetaSort

README

macOS ย  Windows ย  Linux ย 

Donate via UPI Donate via PayPal Donate via Ko-fi

<div align="center"> <img src="assets/logo.png" alt="MetaSort Logo" width="120"/> <h1>MetaSort v1.0.0</h1> <h3>๐Ÿš€ Google Photos Takeout Organizer</h3> <p><em>Transform your messy Google Photos Takeout into beautifully organized media libraries!</em></p> </div>

๐ŸŽฏ What is MetaSort?

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.

โœจ What MetaSort Does:

  • ๐Ÿงน Cleans up filenames and removes .json clutter
  • ๐Ÿ“… Extracts dates from filenames, JSON metadata, or file timestamps
  • ๐Ÿท๏ธ Embeds metadata (date, camera, GPS) directly into your photos/videos
  • ๐Ÿ“ฆ Sorts everything into organized folders by year/month/type
  • ๐Ÿ’ฌ Separates WhatsApp & Screenshots (optional)
  • ๐Ÿ“Š Generates beautiful reports (CSV + HTML)
  • ๐ŸŽจ Beautiful UI with progress bars and emoji-rich feedback

๐Ÿš€ Quick Start (5 Minutes)

For Non-Technical Users:

macOS:

  1. Download MetaSort from GitHub
  2. Open Terminal and run:
    ./scripts/build_macos.sh
    
  3. Double-click Run_MetaSort.command to start!

Windows:

  1. Download MetaSort from GitHub
  2. Right-click scripts/install_windows.bat โ†’ "Run as administrator"
  3. Follow the prompts - it will install everything automatically!

For Developers:

# Clone and build
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort
cargo build --release
cargo run --release

๐Ÿ’™ Support & Donations

<div align="center"> <!-- UPI Donation --> <a href="https://upier.vercel.app/pay/sanmith@superyes" target="_blank"> <img src="https://img.shields.io/badge/Donate%20via-UPI-green?style=for-the-badge&logo=google-pay" alt="Donate via UPI" /> </a> <br/><br/> <!-- PayPal Donation --> <a href="https://www.paypal.com/paypalme/iamsanmith" target="_blank"> <img src="https://raw.githubusercontent.com/stefan-niedermann/paypal-donate-button/master/paypal-donate-button.png" alt="Donate with PayPal" width="200" /> </a> <br/><br/> <!-- Ko-fi Donation --> <a href="https://ko-fi.com/L3L01JGIUW" target="_blank"> <img height="36" style="border:0px;height:36px;" src="https://storage.ko-fi.com/cdn/kofi6.png?v=6" border="0" alt="Buy Me a Coffee at ko-fi.com" /> </a>

<br/><br/> <em> 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. </em>

</div>

๐Ÿ“‹ Requirements

System Requirements:

  • macOS 10.13+ or Windows 10+
  • 4GB RAM (recommended)
  • 500MB free space for the application

Dependencies:

  • ExifTool - For metadata extraction and embedding
  • Rust - For building the application

๐Ÿ’ก Don't worry! Our installation scripts handle all dependencies automatically.


๐Ÿ› ๏ธ Detailed Installation

macOS Installation

Option 1: Automated (Recommended)

# Download and extract MetaSort
git clone https://github.com/iamsanmith/MetaSort.git
cd MetaSort

# Build and create launchers
./scripts/build_macos.sh

Option 2: Manual Installation

# 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

Windows Installation

Option 1: Automated (Recommended)

# Run PowerShell installer
powershell -ExecutionPolicy Bypass -File scripts/install_windows.ps1

# Or run batch installer
scripts/install_windows.bat

Option 2: Manual Installation

# 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

๐ŸŽฎ How to Use MetaSort

Step 1: Launch MetaSort

  • macOS: Double-click Run_MetaSort.command
  • Windows: Run cargo run --release or use the generated executable

Step 2: Select Your Folder

  • Drag and drop your Google Photos Takeout folder
  • Or type the path to your media folder
  • MetaSort works with any folder containing photos/videos!

Step 3: Choose Options

  • Separate WhatsApp/Screenshots? (Recommended: Yes)
  • Metadata embedding method (Recommended: Auto-detect)
  • Output directory (Default: MetaSort_Output)

Step 4: Watch the Magic! โœจ

MetaSort will:

  1. ๐Ÿ” Scan your files
  2. ๐Ÿงน Clean up filenames
  3. ๐Ÿ“… Extract dates
  4. ๐Ÿท๏ธ Embed metadata
  5. ๐Ÿ“ฆ Sort into folders
  6. ๐Ÿ“Š Generate reports

Step 5: Enjoy Your Organized Media! ๐ŸŽ‰

  • Photos/Videos: MetaSort_Output/Media Files/
  • Reports: MetaSort_Output/Technical Files/
  • HTML Summary: Open MetaSort_Output/Technical Files/report.html

๐Ÿ“ Output Structure

After 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

๐ŸŽฏ Supported File Types

Media Files:

  • Photos: JPG, JPEG, PNG, WEBP, HEIC, HEIF, BMP, TIFF, GIF, AVIF, JXL, JFIF
  • Raw Formats: RAW, CR2, NEF, ORF, SR2, ARW, DNG, PEF, RAF, RW2, SRW, 3FR, ERF, K25, KDC, MEF, MOS, MRW, NRW, SRF, X3F
  • Design Files: SVG, ICO, PSD, AI, EPS
  • Videos: MP4, MOV, MKV, AVI, WEBM, 3GP, M4V, MPG, MPEG, MTS, M2TS, TS, FLV, F4V, WMV, ASF, RM, RMVB, VOB, OGV, MXF, DV, DIVX, XVID

Metadata Sources:

  • JSON files (Google Photos metadata)
  • Filename patterns (WhatsApp, Screenshots, etc.)
  • EXIF data (embedded in files)
  • File timestamps (fallback)

๐Ÿ“… Smart Date Detection

MetaSort can extract dates from countless filename patterns:

๐Ÿ“ฑ Mobile Apps:

  • WhatsApp: IMG-20220101-WA0001.jpg โ†’ 2022:01:01 00:00:00
  • Screenshots: Screenshot_2023-01-01-12-00-00.png โ†’ 2023:01:01 12:00:00
  • Telegram: photo_2023-01-01 12.00.00.jpg โ†’ 2023:01:01 12:00:00

๐Ÿ“ท Cameras & Phones:

  • Samsung/Android: 20230101_123456.jpg โ†’ 2023:01:01 12:34:56
  • Google Photos: PXL_20230101_123456789.jpg โ†’ 2023:01:01 12:34:56
  • Sony Camera: DSC01234_20230101_123456.JPG โ†’ 2023:01:01 12:34:56
  • MIUI: IMG_20230101_120000.jpg โ†’ 2023:01:01 12:00:00

๐ŸŽฏ Custom Patterns:

  • wallpaper - IMG_20240113_143213Jan 13 2024 โ†’ 2024:01:13 14:32:13
  • San-1 Oct 2024.jxl โ†’ 2024:10:01 00:00:00
  • RMLmc20250531_115820_RMlmc.7 โ†’ 2025:05:31 11:58:20

๐Ÿ’ก MetaSort is smart! If your filename contains a date, it will likely find it!


๐Ÿ› ๏ธ Advanced Features

๐Ÿ”ง Command Line Options

# 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"

๐Ÿ“Š Report Customization

  • HTML Report: Beautiful web-based summary with statistics
  • CSV Reports: Detailed logs for spreadsheet analysis
  • Error Logs: Track any issues during processing

๐Ÿ”„ Batch Processing

  • Process multiple folders
  • Resume interrupted operations
  • Skip already processed files

๐Ÿ†˜ Troubleshooting

Common Issues:

"ExifTool not found"

macOS:

brew install exiftool

Windows:

winget install ExifTool.ExifTool

"Permission denied"

macOS:

chmod +x scripts/build_macos.sh

Windows:

  • Right-click script โ†’ "Run as administrator"

"Rust not found"

macOS:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows:

  • Download from https://rustup.rs/

"App won't open" (macOS)

  • Use Run_MetaSort.command instead of app bundles
  • Right-click โ†’ Open (if needed)

Getting Help:

  1. Check the error logs in MetaSort_Output/Technical Files/
  2. Ensure ExifTool is installed and accessible
  3. Try running in terminal for detailed error messages
  4. Open an issue on GitHub with error details

๐Ÿ—๏ธ Project Structure

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

Related Skills

View on GitHub
GitHub Stars220
CategoryCustomer
Updated19h ago
Forks17

Languages

Rust

Security Score

100/100

Audited on Apr 2, 2026

No findings