Nothing leaves your machine
No cloud, no account, no network call of any kind. Your library is scanned where it lives.
photo·dedupe finds your near-duplicate shots and judges them the way you would — by focus, not just file size — then sets the rest aside. Nothing leaves your machine.
No machine-learning black box — a fixed, inspectable process you can tune with three numbers. Every step narrows the pool; nothing is ever thrown away without passing through all three.
Shots fired within moments of each other are grouped into a burst — a gap you control with -gap, not a guess baked into the code. Being close in time is only a candidate pool, never proof of duplication on its own.
A perceptual hash compares what's actually in the frame, not just the file's bytes — so a recompressed copy or a resized export doesn't slip past as "different." Threshold is yours to tighten with -similarity.
Sharpness — the variance of the image's Laplacian, if you're curious — decides the keeper. A soft, blurry frame is disqualified outright, even if it otherwise looks fine. Among what's left, resolution and file size break ties.
No cloud, no account, no network call of any kind. Your library is scanned where it lives.
Losers move to a dedupe-quarantine folder next to your photos. The app never deletes anything; review it, restore it, or clear it out yourself, whenever you're ready.
Review every group before anything moves. Overrule the automatic pick with one click if it judged wrong.
JPEG, PNG, and HEIC/HEIF — decoded natively, no plugin hunting.
Time gap, similarity threshold, sharpness margin — three sliders instead of one opaque "clean up" button.
| Feature | photo·dedupe | Google Photos | Mac Duplicate Photo Cleaner | Gemini Photos |
|---|---|---|---|---|
| Runs fully offline | yes | no | yes | no |
| One-time purchase | yes | no | yes | no |
| Manual review before moving files | yes | no | yes | no |
| Judges by sharpness, not just hash | yes | unclear | unclear | unclear |
| Cross-platform (Mac / Win / Linux) | yes | yes | Mac only | mobile only |
| Price | $14.99 once | $120/yr storage plan | $19.99 once | $4.99/mo |
photo·dedupe is a native app for each OS — not a shared web wrapper. macOS, Windows, and Linux builds are all available now, from the same purchase.
First launch: since photo·dedupe isn't notarized/code-signed yet, your OS will flag it the first time. On macOS: right-click the app → Open → Open (instead of double-clicking). On Windows: click More info → Run anyway on the SmartScreen prompt. This is normal for independently-distributed software, not a sign anything's wrong with the download.
One machine, every scan you'll ever run.
Point it at a folder, let it judge by focus, keep the frame that earned it. Everything else waits in quarantine until you say otherwise.
Get photo·dedupe — $14.99