AI-powered duplicate photo cleaner for macOS with visual similarity detection.
Find and remove duplicate images to free up disk space
Choose folders or Apple Photos to detect duplicate and visually similar images using Apple Vision intelligence.
AI-Powered (Apple Vision Intelligence powered) duplicate photo cleaner for macOS.
Find:
- Exact duplicate Photos
- Visually similar images
- Burst shots
- Duplicate screenshots
- Large unused images
Built with SwiftUI + Apple Vision Framework.
Unlike traditional duplicate cleaners, TwinPixCleaner can detect visually similar images even when:
- filenames differ
- resolutions change
- images are cropped
- screenshots are edited
Automatically group exact duplicates and similar images for fast and efficient cleanup.
- π Dual Scanning Modes - Choose between pure SHA-256 hashing or AI-powered Visual Similarity
- πΈ Apple Photos Integration - Securely scan your entire macOS/iCloud Photos library via native PhotoKit
- π― 100% Accurate - Finds exact duplicates safely, or visually identical variations
- π‘οΈ Smart Selection - 1-click "Keep This" workflow to select all duplicates except your favorite
- ποΈ Safe Deletion & Undo - Files moved to Trash or Photos "Recently Deleted" Album, reversible instantly with βZ Undo
- β Multi-Select - Select multiple images for batch deletion
- ποΈ Native Quick Look - Press Spacebar for instant, full-resolution interactive previews
- π Smart Sorting - Sort by size or number of copies
- π§ Frost Glass UI - Stunning, interactive native macOS interface with dark mode support
- β¨οΈ Keyboard Shortcuts - βN for new scan, Delete to remove files, βZ to undo
- π Privacy First - All processing happens locally, no data leaves your Mac
- Download the latest release from Releases
- Open the DMG file
- Drag TwinPixCleaner to your Applications folder
- Launch from Applications
# Clone the repository
git clone https://github.com/AkshayKrGupta/TwinPixCleaner.git
cd TwinPixCleaner
# Build release version
swift build -c release
# Run the app
./.build/release/TwinPixCleanerSince this app is open-source and not notarized by Apple, macOS Gatekeeper may show a warning when you try to open it for the first time. To open it safely:
Method 1 (Recommended):
- Open Finder and go to where the app is located (e.g., your Applications folder).
- Right-click (or Control-click) on
TwinPixCleaner.app. - Select Open from the context menu.
- Click Open on the warning dialog.
Method 2 (If Method 1 doesn't show an "Open" button):
- Try to open the app normally by double-clicking it.
- Go to System Settings > Privacy & Security.
- Scroll down to the Security section.
- Look for a message saying βTwinPixCleanerβ was blocked from use and click Open Anyway.
(You only need to do this once. After that, you can open the app normally by double-clicking it.)
- Launch TwinPixCleaner
- Select a folder to scan, or click Scan Apple Photos
- Review duplicates - sorted by size by default
- Select files to delete (click to select, β-click for multiple)
- Delete - Press Delete key or click "Delete Selected"
- Done! - Files are safely moved to Trash
Method 1: Button
- Click "Select Folder to Scan"
- Choose any folder on your Mac
- Wait for scan to complete
Method 2: Drag & Drop
- Drag any folder onto the app window
- Scan starts automatically
Method 3: Apple Photos Library
- Click "Scan Apple Photos"
- Grant permission to access your Photos library
- App securely scans your entire library without reading raw files
Method 4: Keyboard Shortcut
- Press βN to start a new scan
The results view shows:
- Duplicate Groups: Sets of identical images
- File Size: Size of each duplicate file
- Copies: Number of duplicates found
- Potential Savings: Space you can free up
Use the sort dropdown to prioritize:
- Largest First (default) - Free up space quickly
- Smallest First - Start with small files
- Most Copies - Files with most duplicates
- Fewest Copies - Files with fewer duplicates
- Single Click: Select/deselect one file
- "Keep This" Button: Instantly keeps the chosen photo and flags all identical siblings for deletion
- Delete Key: Delete all selected files
- Spacebar / Eye Icon: Open native Quick Look preview
- Hover: View file details (name, path, metadata, size)
- All deleted files go to macOS Trash
- Undo Mistakes: Simply press βZ to instantly restore files deleted in your current session
- You can recover files from Trash before emptying
- No permanent deletion without your confirmation
File Access
- TwinPixCleaner needs permission to read folders you select
- Granted automatically when you choose a folder
Photos Library (If using Apple Photos Scan)
- Needs permission to access and delete photos from your library
- Safe deletion moves photos to the native "Recently Deleted" album
Full Disk Access (Optional)
- Required for system folders and external drives
- Enable in: System Settings β Privacy & Security β Full Disk Access
- Add TwinPixCleaner to the list
β
100% Local Processing - No cloud, no servers
β
No Data Collection - We don't track anything
β
No Internet Required - Works completely offline
β
Open Source - Verify the code yourself
Read our full Privacy Policy
| Shortcut | Action |
|---|---|
| βN | New Scan |
| Spacebar | Toggle Quick Look Preview |
| Delete/Backspace | Delete Selected Files |
| βZ | Undo Last Deletion |
| βW | Close Window |
| βQ | Quit App |
- Language: Swift 6.0
- UI Framework: SwiftUI
- Minimum macOS: 13.0 (Ventura)
- Architecture: Apple Silicon & Intel
- Duplicate Detection: SHA-256 (CryptoKit) & Feature Prints (Vision ML)
- File Operations: Native FileManager APIs with UndoManager integration
- Scans 1,000+ images in seconds
- Handles large libraries (10,000+ files)
- Low memory footprint
- Optimized for Apple Silicon
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the Apache License 2.0. You are free to use, modify, and distribute this software in accordance with the license terms. See the License file for details.
While the Apache-2.0 license permits commercial usage, please consider contributing back to the project and respecting the original work and branding of TwinPixCleaner.
Akshay K Gupta
LinkedIn
Found a bug or have a feature request?
If you find TwinPixCleaner useful, please:
- β Star this repository
- π’ Share with friends
- π¬ Leave feedback
Made with β€οΈ for macOS