Skip to content

AkshayKrGupta/TwinPixCleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TwinPixCleaner

TwinPixCleaner Logo

Smart Duplicate Photo Finder for macOS
Find and remove duplicate images to free up disk space

macOS 13.0+ Swift 6.0 Version 1.0.0


✨ Features

  • πŸ” 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

πŸ“₯ Installation

Option 1: Download Release (Recommended)

  1. Download the latest release from Releases
  2. Open the DMG file
  3. Drag TwinPixCleaner to your Applications folder
  4. Launch from Applications

Option 2: Build from Source

# 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/TwinPixCleaner

⚠️ Troubleshooting: "Apple could not verify..." Error

Since 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):

  1. Open Finder and go to where the app is located (e.g., your Applications folder).
  2. Right-click (or Control-click) on TwinPixCleaner.app.
  3. Select Open from the context menu.
  4. Click Open on the warning dialog.

Method 2 (If Method 1 doesn't show an "Open" button):

  1. Try to open the app normally by double-clicking it.
  2. Go to System Settings > Privacy & Security.
  3. Scroll down to the Security section.
  4. 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.)

πŸš€ Quick Start

  1. Launch TwinPixCleaner
  2. Select a folder to scan (or drag & drop)
  3. Review duplicates - sorted by size by default
  4. Select files to delete (click to select, ⌘-click for multiple)
  5. Delete - Press Delete key or click "Delete Selected"
  6. Done! - Files are safely moved to Trash

πŸ“– User Guide

Scanning for Duplicates

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

Understanding Results

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

Sorting Options

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

Selecting Files

  • 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)

Safe Deletion & Undo

  • 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

πŸ”’ Privacy & Permissions

Required Permissions

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

Privacy Guarantee

βœ… 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

⌨️ Keyboard Shortcuts

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

πŸ› οΈ Technical Details

  • 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

πŸ“Š Performance

  • Scans 1,000+ images in seconds
  • Handles large libraries (10,000+ files)
  • Low memory footprint
  • Optimized for Apple Silicon

🀝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

πŸ“„ License

This project is licensed under the MIT License - see LICENSE file for details.

πŸ‘¨β€πŸ’» Developer

Akshay K Gupta
LinkedIn

πŸ› Support

Found a bug or have a feature request?

⭐ Show Your Support

If you find TwinPixCleaner useful, please:

  • ⭐ Star this repository
  • πŸ“’ Share with friends
  • πŸ’¬ Leave feedback

Made with ❀️ for macOS