OpenCleaner finds the bursts, the retries and the near-duplicates, shows them side by side, and lets you keep the one that matters. Session by session — you set the pace. Open-source, for iOS and macOS, built for people who like to read the code.
You know the moment was great — that's why you took ten shots of it. But you only ever look at one. The other nine just sit there, costing you storage, iCloud fees and scrolling time.
−
−
✓
−
−
−
−
−
−
−memory № 1 · the alpine lake — keep 1, clean 9 · ~85 MB freed
−
−
✓
−
−memory № 2 · the summit — keep 1, clean 4 · ~14 MB freed
−
−
−
✓
−
−
−memory № 3 · the bike trip — keep 1, clean 6 · ~19 MB freed
A calendar heatmap shows where your photos pile up. Clean a trip, a month or a whole year — one session at a time.
OpenCleaner groups near-duplicates into clusters. Compare them full-screen, keep the best shot, clean the rest.
Nothing is deleted until you confirm the full list. Even then, photos go to “Recently Deleted” first. Two safety nets, zero regrets.
The top “cleaner” apps charge you every single week to remove your pictures from your phone. Forever. We think that's absurd.
OpenCleaner is a small, readable SwiftUI codebase. The clustering logic, the safety nets, the whole thing — public on GitHub. Curious how it decides two photos are “the same memory”? The algorithm is documented here.