A fast, minimal photo culling app for photographers. Swipe through your photos — keep the good ones, discard the rest.
Built with Electron. Supports JPEG, PNG, and DNG (raw) files. Works fully offline.
- Open a folder containing your photos
- Each photo is displayed full-screen
- Swipe right (or press
→) to keep a photo - Swipe left (or press
←) to discard — the file moves to aculled/subfolder - Undo mistakes with
Ctrl+Z/Cmd+Z - When you're done, see a summary of your session
Discarded photos are never deleted — they're moved to a culled/ subfolder inside the original directory. You can always get them back.
- RAW/DNG support — raw files are converted on-the-fly via Sharp
- Image preloading — the next photo loads in the background for instant transitions
- EXIF metadata sidebar — toggle with
Ito see camera, lens, exposure, and more - 14 metadata fields — Camera, Lens, Focal Length, Aperture, Shutter Speed, ISO, White Balance, Flash, Metering Mode, Color Space, Dimensions, File Size, and Date
- Undo — undo the last discard with
Ctrl+Z/Cmd+Z - Progress tracking — see where you are in the set with a counter and progress bar
- Session resume — re-opening a folder picks up where you left off, skipping already-culled photos
- Offline — all fonts and assets bundled locally, no internet required
- Cross-platform — macOS, Windows, and Linux
| Action | Key |
|---|---|
| Discard | ← |
| Keep | → |
| Undo discard | Ctrl/Cmd+Z |
| Toggle info | I |
| Fit to screen | F |
| Show shortcuts | ? |
| Open folder | Ctrl/Cmd+O |
| Quit | Esc |
Grab the latest release for your platform from the Releases page.
- macOS:
.dmg - Windows:
.exe(NSIS installer) - Linux:
.AppImage
git clone https://github.com/RamzyBakir/cull.git
cd cull
npm install
npm startnpm run distOutput will be in the dist/ directory.
- Electron — desktop app framework
- Sharp — image processing & DNG conversion
- Exifr — EXIF metadata parsing
src/
├── main.js # Electron main process
├── preload.js # Context bridge (IPC)
├── renderer.js # UI logic
├── index.html # App shell
├── styles.css # Styling
└── fonts/ # Bundled fonts (offline)
build/ # App icons per platform
docs/ # Design docs
Issues and pull requests are welcome at github.com/RamzyBakir/cull.
MIT © Ramzy Bakir