CleanTwin

How to clean iCloud Photo duplicates without losing anything

On a 64 GB iPhone with iCloud Photos turned on, "out of storage" usually means about a third of your library is doing nothing useful. Here is the workflow we use on our own libraries.

The first time I tried to clean up my iCloud Photos library, I deleted the wrong frame from a burst of my niece blowing out birthday candles. It was the frame where she was actually laughing. The duplicate I kept was the one where her eyes were closed.

That was on a free duplicate-finder app that auto-selected the "first" frame in each group. It is the cautionary tale I tell anyone who asks how to start.

The three kinds of "duplicate", restated

iOS only deals with one of these out of the box, and the distinction matters when you decide how aggressive to be:

  • Exact duplicates: byte-for-byte the same. Two copies in the library, often from importing a backup that overlapped with your current photos. Safe to delete; you cannot lose anything by keeping just one.
  • Near-duplicates: visually identical with different metadata. The HEIC original and the JPEG share-copy. The same photo with two different time zones. Usually safe to delete one, but read on.
  • Similar photos: bursts, reshoots, "I will pick the best one later" frames. This is where the storage actually is, and where you should slow down.

Apple\'s built-in Duplicates album (Photos > Albums > Utilities > Duplicates) only catches the first kind, and is conservative even within that. Most of your library lives in the second and third categories.

Before you delete anything: a safety net

Two things to do first.

Confirm iCloud Photos is fully synced. Open Photos on your phone, scroll to the bottom of the Library tab, and look for "Updated just now". If it says "Syncing", wait. Deletions you make on one device propagate to all the others, including your Mac, but only after the library is in a consistent state.

Have a backup that is not iCloud. iCloud is not a backup; it is a sync system. If you delete a photo and that delete syncs across all your devices and then you empty Recently Deleted, the photo is gone everywhere. A Time Machine backup of your Mac\'s Photos library, or a separate cloud backup like Backblaze, gives you a safety net that survives a sync mistake.

I know nobody wants to read this paragraph. Do it anyway.

The actual workflow

I run this on a Mac, because the screen lets me see groups properly. CleanTwin works on iPhone and iPad too, but the dense triage UI is easier when you can see eight photos at once.

Phase 1: exact duplicates

Let the app scan. On a 200 GB library it takes about 15 minutes the first time, on Apple Silicon. Subsequent scans are much faster because it caches.

Open the Exact Duplicates section first. Auto-select "keep newest" or "keep highest resolution" - both heuristics are safe here, because the photos are byte-identical anyway and only differ in metadata. Delete the rest. On my last cleanup this freed 6 GB by itself.

Phase 2: near-duplicates

Open Near Duplicates next. These are the photos with the same image content but different file metadata. Most often, this is a HEIC original plus a JPEG copy your phone made for sharing.

Keep the HEIC. Always. It is the original, it is smaller, and it is what your library should be storing. The JPEG was a one-shot export. You can always make another.

The "keep highest quality / smaller file" auto-select handles this correctly in most apps, but spot-check a handful before committing to a batch action.

Phase 3: similar photos

This is the slow part. Do not try to do it in one sitting.

The app groups visually similar photos - a 12-frame burst becomes one row of 12 thumbnails. I go through these one group at a time, picking the best frame. The "keep best" auto-select looks at sharpness, exposure, eye-open detection on faces, and picks an opinion. I let it pick, then audit before I confirm.

On a recent session I went through about 300 groups in an hour. Saved 18 GB, lost zero photos I cared about. Two important habits:

  • I never bulk-confirm without scrolling through the auto-picks. Five minutes of audit per 50 groups catches the bad ones (closed eyes, motion blur on the "winner").
  • I leave anything that is clearly important - weddings, funerals, kids\' birthdays - until I can sit with it for a few minutes. Sometimes the "best" frame is not what I want for sentimental reasons.

What happens after delete

Everything you remove goes to Recently Deleted, where it stays for 30 days before being permanently removed. This is your second safety net. Do not empty Recently Deleted manually - let it expire on its own. The 30-day window has saved me twice when I noticed something missing weeks later.

iCloud handles the sync transparently. Within minutes the deletes propagate to your other devices and to icloud.com.

How much you can realistically save

Three real cleanups from real libraries we have helped with:

  • Casual user, 25 GB library, no burst mode: reclaimed 2.4 GB. Mostly near-duplicates.
  • Parent of two kids under 7, 180 GB library: reclaimed 41 GB. Bursts everywhere. The "kept best frame from each birthday party" workflow alone was worth 8 GB.
  • Wedding photographer who also uses Photos for personal life, 1.2 TB library: reclaimed 280 GB. Most of it was old commercial work that had been imported "to keep an eye on" and never cleaned.

The median person reclaims around 15-20% of their library on first pass. Bigger libraries tend to have a bigger absolute gain but a slightly lower percentage.

What I no longer bother with

  • Auto-confirming entire batches. The time saved by skipping the audit pass is never worth the regret.
  • "Delete all screenshots" mass actions. Half my screenshots are receipts, error messages I have not filed yet, and conversation snippets. Worth a dedicated review pass, not a blanket delete.
  • Cleaning up while travelling. Slow scan + spotty Wi-Fi + tired brain = mistakes. I do it on a quiet Sunday.

If you have never run a duplicate cleanup, the first time is the biggest win. After that, doing it once a year keeps the library tidy without much effort.

Keep reading