Smart Duplicate Photo Finder for macOS
Find and remove duplicate images to free up disk space
- π Dual Scanning Modes - Choose between pure SHA-256 hashing or AI-powered Visual Similarity
- π― 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, 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 drag & drop)
- 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: 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
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 MIT License - see LICENSE file for details.
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