Photo Culler Pro
One Job: Find the Keepers
Only for Mac
$9.99
A thousand photos. A handful of keepers. One keystroke per decision. Exports yield XMP sidecars — and any XMP-aware tool can read them.
Hundreds of photos from one shoot. You need just the best.
Photo Culler helps you decide — fast. Open a folder, move through your photos, pick the keepers, reject the rest. Every decision is one keystroke. Close the app and your choices travel with the files.
EVERYTHING YOU NEED, NOTHING YOU DON'T
No catalog. No import step. No editing tools. No workflow engine to configure before you start working. Photo Culler does one thing and does it well: separates the keepers from the rest.
- Pick and reject with a single keystroke
- Five-star ratings (1–5) and five color labels when you want more nuance
- Visual filters — show picks only, rejects only, or anything in between
- EXIF at a glance — camera, lens, shutter speed, aperture, ISO
- Multi-level undo — step back through your decisions
- Live stats — always know where you stand
XMP IS THE CONTRACT
Picks, ratings, and color labels are written to standard XMP sidecar files. Your decisions carry straight into any app that speaks XMP. On re-export, every existing field is preserved — develop settings, hierarchical keywords, plugin metadata — untouched. Photo Culler writes culling decisions and optional IPTC metadata. Nothing more.
STAMP METADATA ONCE, FORGET IT
Copyright, creator name, and keywords can be applied during triage — so you never have to think about it again. Configurable in Settings, written to industry-standard IPTC fields.
BUILT FOR PHOTOGRAPHERS
Designed by a working photographer who culls thousands of photos. Every shortcut came from a real session — not a feature checklist.
PART OF THE DIGTEK PHOTO SUITE
Photo Culler exports flag/rating/label etc to XMP sidecars, which carry your decisions into Photo Archive for organizing and Photo Developer for raw editing — each app stands alone, no lock-in, and the three are available together as the DigTek Photo Suite bundle.
No subscription. No cloud. No account. One-time purchase, yours forever.
more Fixes a rare issue where assigning a pick or reject flag could damage a photo's metadata sidecar. If you use sidecars from other photo apps alongside Photo Culler, this update is recommended.
Photo Culler also reads sidecars more thoroughly: ratings, flags and labels written by other tools in a form it previously could not see now show up.
1.2.7 Aug 16
NEW IN 1.2.6
Right-click any photo — in the grid or the loupe — for pick, reject, rating, and color label, plus Start Compare and Show in Finder. It's everything the keyboard does, now discoverable with the mouse: the current state shows a checkmark, and clicking a checked item clears it, exactly like the keys. Picking this way respects your auto-advance setting too. The keyboard-first flow is untouched — the menu just teaches it.
Show in Finder is new everywhere: right-click a photo or use the File menu to jump straight to the file.
One shortcut change: export now lives solely on ⇧⌘E (⌘E previously worked as a spare export key). And pressing a ⌘-shortcut no longer triggers the bare-key action underneath it — ⌘C out of habit won't drop you into Compare anymore.
1.2.6 Jul 21
v1.2.4 sharpens the loupe for DNGs.
Some DNGs carry only a small preview inside — Adobe DNG Converter's "medium" setting and phone exports are common sources. Photo Culler used that preview for speed, which left those files soft in the loupe. It now spots a preview that's too small to display sharply and decodes the actual sensor data instead. Sharp at fit-to-screen, with default settings, no zooming required. Cameras that embed full-size previews are unaffected and browse just as fast as before.
1.2.4 Jul 17
v1.2.3 lets you cull across folders
Cull more than one folder at once. Open, or drag in, several folders and Photo Culler treats them as a single session. A new option — Settings → Behavior → Include subfolders — lets you point at a memory card or a whole shoot folder and pull in every photo inside it. Off by default, so each folder still loads flat unless you ask.
Your work survives an accident. If Photo Culler quits unexpectedly — a crash, a power loss, an accidental Quit — reopening the same folder (or the same set of folders, if you were culling several) offers to restore the culling decisions you hadn't exported yet. Nothing is ever written to your photos or their sidecars until you export; this just remembers your in-progress decisions, so an interruption doesn't cost you the session. On by default, and if you edited a sidecar in another app in the meantime, the newer version on disk is kept.
Safer sidecar preservation. Photo Culler never overwrites a sidecar it can't read. If you cull a folder that already has XMP sidecars — from Lightroom, Photo Developer, or another tool — and one can't be read (an unusual encoding, a file momentarily locked by another app, a network drive that drops), Photo Culler now leaves it exactly as it was, and shows you which photos it skipped so you can retry.
1.2.3 Jul 8
v1.2.2 makes color labels first-class at export.
Labels now export on their own. A photo carrying only a color label — no pick, reject, or rating — now gets an XMP sidecar too, and the export dialog counts labels alongside ratings, picks, and rejects. If you run label-only passes, your labels reach Lightroom and the rest of your tools every time. Labels still don't count toward culling progress — they're organization, not decisions.
Dialogs fit their content. The export, delete, and session-report dialogs now size to what they have to say — no more clipped text or cramped buttons — and long filenames truncate tidily in the delete confirmation.
Also: session and deletion reports now state the correct app version.
1.2.2 Jul 2
v1.2.1 sharpens the viewer.
A faster loupe. Switching between the grid and a single photo keeps your place — no jump back to the top, no stutter — and a zoomed-in photo opens sharp instead of blurring for a moment. Arrowing through a shoot stays locked to the photo you're actually on.
A proper 100%. "100%" now means a true 1:1 pixel-peep on every display — including external and non-Retina monitors, where it previously rendered at about half size. Press Z or double-click to toggle fit and 100%.
New: Full-resolution zoom (optional). Switch it on in Settings to pixel-peep the full RAW sensor at true 1:1 — it sharpens in place as the file decodes. Left off, 100% stays instant off a screen-resolution preview.
These improvements apply in Compare too, where both panes zoom to the same spot at 100%.
1.2.1 Jun 29
NEW: Compare. Put two photos side by side and keep the sharper one. Select a photo and press C — it locks into the left pane as your reference while you arrow through the rest in the right pane. Zoom is synchronized, so at 100% both panes show the exact same spot — the fastest way to pick the sharpest frame in a burst. Your pick, reject, rate, and label keys act on the candidate; press Return to promote it to the new reference and keep going.
Also new since the last release:
- RAW+JPEG pairs are handled as one capture: a RAW and its same-name JPEG appear as a single tile, so one decision writes one sidecar instead of the two files fighting over it.
- Keyboard shortcuts now line up with the rest of the Digtek photo suite: Export is ⇧⌘E, Delete Rejected is ⇧⌘⌫, P picks and U unflags (Space still picks), and 0 clears the star rating.
- The detail view fills the window at 100% (press Z or double-click), pans by drag or two-finger swipe without sliding off into the black, loads surrounding photos ahead so navigation is instant, and renders DNGs with small embedded previews sharp.
1.2 Jun 28
NEW IN 1.1.5
- The detail view feels noticeably faster on arrow navigation. The next and surrounding photos load in the background while you're looking at the current one, so most arrow taps land instantly.
- No more flash to black between photos. The previous image now stays on screen until the new one is ready — invisible on fast nav, and on slower loads a soft preview bridges the wait instead of an empty black frame.
- DNG files now appear sharp in the detail view. Some DNGs — especially ones converted with Adobe DNG Converter's "medium" preview setting, or exported from phones — were rendered from a tiny embedded preview and looked soft at fit-to-screen. The decode now falls back to the full sensor data when the embedded preview isn't large enough.
- Backwards navigation through photos you just viewed is reliably fast. The detail view now keeps your most recently viewed photos warm in memory instead of evicting them at random, so arrow-back consistently hits a cached photo.
1.1.5 May 24
NEW IN 1.1.4
- Sort the grid by filename, date, rating, or import order — ascending or descending. Available from the header and the View menu, and your choice is remembered between launches.
- Date sort uses EXIF capture date, with file modification date as a fallback.
- Double-click a thumbnail to jump straight into the loupe view.
- Fixed: arrow-key navigation in the loupe view now follows the order shown in the grid, including any active filter or sort.
- Fixed: numeric filenames now sort naturally everywhere — IMG_2 before IMG_10.
- Tidied up a duplicate View menu in the menu bar.
1.1.4 May 15
Bug fixes:
- XMP sidecars from other tools that split metadata across multiple blocks now round-trip without corruption. Hierarchical keywords and plugin namespaces are preserved byte-for-byte on re-export.
- Keywords containing special characters now round-trip cleanly. Existing entries are no longer double-escaped or duplicated on re-export.
- Export and delete failures now show a clear dialog with Try Again instead of silently closing. Your culling decisions are preserved across the retry.
- Interface language tightened — "Open Folder" instead of "Import Folder" throughout the app (the folder is opened in place, not copied into a library).
- General fixes to copy throughout
1.1.3 Apr 21
What's New (v1.1.2)
- Progress bar now reflects how far you've navigated through the folder, not just how many decisions you've made
- Typing in the export dialog and Settings no longer triggers culling shortcuts in the background
- "Clear existing description" is now a per-export checkbox in the export dialog — descriptions from previous sessions are no longer silently wiped
- Revisiting a folder with existing XMP no longer falsely warns about unsaved changes
- Keyboard control of the export dialog, success box, and celebration screen
- A single Z press reliably toggles zoom after navigating to a new photo. Chosen zoom level persist while navigating
- Minor export-dialog layout fixes (wrapping captions, consistent bullet dimming, no resizing while typing)
1.1.2 Apr 5
Minor refinements under the hood for further development purposes.
CONTAINS ALL THAT WAS NEW IN v1.1:
- Auto-advance is now configurable — toggle off in Settings if you prefer to stay on the current photo after tagging
- Clear All Decisions now asks for confirmation before resetting your session
- Color labels now appear in the info panel and sidebar, matching pick and rating badges
- Export dialog better explains what's being exported when metadata applies to all photos
- Gentle reminder when copyright info isn't configured in Settings
1.1.1 Mar 29
- Auto-advance is now configurable — toggle off in Settings if you prefer to stay on the current photo after tagging
- Clear All Decisions now asks for confirmation before resetting your session
- Color labels now appear in the info panel and sidebar, matching pick and rating badges
- Export dialog better explains what's being exported when metadata applies to all photos
- Gentle reminder when copyright info isn't configured in Settings
1.1 Mar 24
Fixes a rare issue where assigning a pick or reject flag could damage a photo's metadata sidecar. If you use sidecars from other photo apps alongside Photo Culler, this update is recommended.
Photo Culler also reads sidecars more thoroughly: ratings, flags and labels written by other tools in a form it previously could not see now show up.
more Version 1.2.7 Aug 16
Data Not Collected The developer does not collect any data from this app.