Find duplicate photos, keep the best copy, get the space back.
One Shot scans your photo library on the device, groups the copies of each picture together, suggests which one to keep, and deletes only what you tick. It needs no account and no internet connection.
An iPhone or iPad on iOS 26 or later. There is no account to create and nothing to sign in to.
A duplicate is a relationship between two photos, so One Shot cannot tell you a picture is a copy if it is only allowed to see one of the pair. Limited access — where you hand over a selection of photos — is not enough for the app to work, which is why it asks for the whole library instead. Nothing leaves your device either way; see the privacy policy.
If you already chose Limited, you can change it in iOS Settings → Privacy & Security → Photos → One Shot → Full Access.
The first scan is the slow one, because every photo has to be decoded and analysed — budget roughly a minute per few thousand items, longer if you have a lot of video. Later scans only look at what changed and are much quicker.
Keep the app on screen during the first scan. iOS suspends the work if you switch away.
Each clip is compared by sampling five frames across its length, which is a lot more work than a single photo. You can turn videos off under What to scan in Settings if you only want photos.
Each group's suggested keeper is starred and arrives unticked, while the other copies arrive ticked, so the common case is one tap away from being right. The suggestion weighs sharpness, resolution, faces and whether eyes are open, exposure and file size — and it always respects your own intent, so a favourited or edited photo is kept over a marginally sharper copy.
It is advice, not a lock. You can tick the starred photo like any other, or untick everything and move on.
That is intended. Tapping a photo only ever shows it larger; its checkbox is what marks it for deletion. Viewing and deleting are deliberately separate gestures so you cannot delete something while browsing.
Open Photos → Albums → Recently Deleted. Everything One Shot removes goes there and stays recoverable for 30 days, exactly as if you had deleted it yourself. One Shot has no separate trash of its own and never deletes anything permanently.
That mode is deliberately aggressive. It is meant for burst frames and re-takes of the same subject, so on top of the normal matching it also allows looser matches between photos taken within a few minutes of each other. Review those groups before deleting, and use Near-identical — the default, and the setting calibrated against known duplicates — for everyday cleaning.
Photos whose full-resolution copy lives only in iCloud are skipped, because One Shot never uses the network to fetch them. They are counted and reported with your results rather than quietly ignored. To include them, turn on Settings → Photos → Download and Keep Originals on your device, let it finish, then scan again.
One Shot matches copies of the same image — resized, recompressed, re-exported, brightened, saved twice. A copy that has been meaningfully cropped or rotated is a different picture as far as the matching goes, and by design will not be grouped. Two photos of the same scene taken minutes apart are only grouped under Similar scenes.
One Shot remembers what it learned about each photo so later scans stay fast. Settings shows how many items have been analysed and how much space that takes. Clear Analysis Cache only forces a full re-analysis next time — it never touches your photos and never undoes a scan.
Completely. All analysis uses Apple's Vision framework built into iOS, on your device. The app makes no network requests at all and works in aeroplane mode.
Email me and include your iOS version, your device, and what you were doing when it went wrong. A screenshot helps.