AI-powered photo deduplication & organizer for macOS. Find duplicate photos, detect similar images, fix EXIF metadata, and restructure your library — safely, through natural-language conversation.
SnapTidy takes a safety-first approach to photo library management. No automatic deletion — everything is read-only until you explicitly approve.
Find byte-perfect duplicate files across your entire photo library.
Detect visually identical images using pHash with fuzzy Hamming distance threshold.
Zero-dependency similarity via Apple's pre-computed 17-dim ML feature vectors.
Detect HEIC + JPEG of the same photo across different formats.
Convert GPS coordinates to place names (city/region/country) with persistent cache.
Find sensitive documents (ID cards, bank cards, passports) in your library.
Frame sampling + pHash for duplicate and similar video detection.
Detect, skip, or download iCloud placeholder thumbnails before scanning.
Read-only scanning, move-only operations, Trash mode with Finder recovery.
Sharpness, exposure, contrast, resolution, format, filesize, EXIF — weighted composite score.
Find files whose actual format (via magic bytes) doesn't match their declared extension.
| Feature | SnapTidy | Traditional Apps |
|---|---|---|
| AI Conversation-Driven | ✓ | ✗ |
| Zero-Install Core | ✓ | ✗ |
| Perceptual Hash Similarity | ✓ | ~ |
| Apple ML Vector Detection | ✓ | ✗ |
| Cross-Format Dedup (HEIC↔JPEG) | ✓ | ~ |
| EXIF Metadata Editing | ✓ | ~ |
| GPS Reverse Geocoding | ✓ | ✗ |
| Privacy Risk Detection | ✓ | ✗ |
| Video Dedup | ✓ | ~ |
| iCloud Placeholder Handling | ✓ | ✗ |
| Live Photo Protection | ✓ | ~ |
| Google Takeout Import | ✓ | ✗ |
| Free & Open Source | ✓ | ~ |
| 7-Dimension Quality Scoring | ✓ | ✗ |
| Bad Extension Detection | ✓ | ✗ |
Install via your AI assistant, or clone and run directly:
# Tell your AI assistant:
# "Install this skill: https://github.com/chicogong/snaptidy"
# Or run directly:
git clone https://github.com/chicogong/snaptidy.git
cd snaptidy
# Scan your photo library (zero-install core works with just Python stdlib)
python3 scripts/scan_photos.py --source /path/to/your/photos --output ./photo_index.db
# Find exact duplicates (SHA-256)
python3 scripts/find_exact_duplicates.py --index ./photo_index.db --output ./duplicates.csv
# Find visually similar images (pHash)
python3 scripts/find_similar_photos.py --index ./photo_index.db --output ./similar.csv
# Generate a move plan
python3 scripts/generate_move_plan.py --duplicates ./duplicates.csv --index ./photo_index.db --plan ./move_plan.csv --target-root /path/to/your/photos
# Review and apply (move to Trash, recoverable via Finder)
python3 scripts/apply_move_plan.py --plan ./move_plan.csv --mode trash
Benchmarks on MacBook Pro M3 Pro: 1K photos in ~3s, 10K in ~66s, 50K in ~10min
SnapTidy is free, open source, and works with Claude Code, Cursor, Windsurf, WorkBuddy, OpenClaw, and any AI agent that supports AGENTS.md.