Skip to content
DuoBolt

The Photos library

Similars can scan your Photos library the way it scans a folder: pick Photos instead of Folders at the top of the setup screen, and DuoBolt reads the library itself. Nothing is exported and nothing is copied. What it finds is shown by the names Photos uses, explained with what Photos knows about each photo, and removed the way Photos removes.

This is a macOS feature. On Windows, Similars scans folders.

The Find Similars setup screen with the header switch on Photos. Where the folder pickers would be, a My Photos panel names the library and its path, counts 6,633 photos, and notes that 1,233 videos in this library are not scanned — Similars compares pictures. Below it the filters card and a Ready to scan 6,633 photos line above the Find Similars button; Recent Setups down the left, with a session in progress on the library at the top.

Every photo whose original is on this Mac. Videos are not part of a similars scan, and a photo that only lives in iCloud — the library set to optimise storage, the original not downloaded — is set aside and counted, never guessed at from its thumbnail. The setup screen and the results header say how many.

The first scan asks for access to Photos, then walks the whole library: about 15 seconds for 8,000 photos. Every scan after that asks Photos what changed since and looks only at that, so an untouched library costs one question.

Photos names its photos IMG_0042.HEIC; the library keeps them under a UUID. DuoBolt shows the name you know — on the tile, in the preview, in the review and in the removal report — and never the file underneath.

Each tile also states what Photos knows about the photo:

  • The import dateimported 16 Jun 2023. When the same photo was imported more than once, each copy says which import it came from: 1st import · 16 Jun 2023, 2nd import · 3 Aug 2025.
  • A heart for a favorite, a wand for a photo you edited.
  • JPEG + RAW for a pair. In the library the two are one photo, and removing it removes both.

An edited photo is shown as the edit — the picture you made — while the scan compared the original, which is what the edit was made from. The preview lets you see both, and the RAW: see looking closer.

Two library tiles side by side. DSC_0738.JPG, 2nd import · 26 Aug, carries a heart at the bottom left and a JPEG + RAW badge at the bottom right. IMG_0300.HEIC, 1st import · 16 Jun 2023, carries a wand and a HEIC badge.

A library that was imported twice holds every photo twice — the same bytes under two import dates. Nothing in Photos tells them apart, and DuoBolt groups them as Identical.

Two tools are built for exactly this:

  • The Photos filter’s Imported more than once row keeps only the groups whose copies differ by import.
  • Bulk Select → Keep First Import keeps the copies from the earliest import and selects the later ones, in every group at once.
Similars results over the Photos library — 1,276 groups, 3,631 files, 8.8 GiB — with the Photos filter on the toolbar reading Re-imported. Under an Identical heading, a group of two copies of IMG_0042.HEIC: the first reads 1st import · 16 Jun 2023, the second 2nd import · 29 Aug 2023 and is marked. The footer reads 1 file selected, 4 MiB selected, next to Review Selection.

The rest of the marks feed the same two places: the Photos filter has rows for Edited, Favorited and RAW, and Bulk Select has Keep Favorite. The rules are spelled out on reading the results.

A library photo goes to Recently Deleted in Photos, through Photos itself — never by deleting files inside the library package. Photos keeps it there for 30 days, and putting it back is the ordinary thing you already know how to do.

What goes with it goes with it: the edit, a Live Photo’s video, the RAW of a pair. The confirmation says so before you agree, and counts them — and it warns when one of the photos is a favorite.

The confirmation for a library removal, titled Move 2 photos to Recently Deleted — recoverable in Photos for 30 days, and afterwards from a surviving copy. It reads 10.9 MiB to remove, 2 photos from 2 groups, all images, then three notes: 1 of these carries a RAW alongside, 1 of these photos is a favorite, deleting the photo deletes its RAW as well. Cancel sits beside a red Move to Recently Deleted button.

Copy to… is the other operation a library offers. Each photo is exported under its own name — IMG_0042.HEIC, not the UUID — and an edited photo is exported as the edit, with Copy originals too putting the untouched original beside it. Archive and Delete permanently do not apply: Photos owns its files.