Cull a shoot with two arrow keys.
One photo fills the screen. Right arrow keeps it. Left arrow discards it. Your keepers go to a new folder. Nothing is deleted, and nothing leaves your machine.
Free and open source. Runs from a terminal. Mac, Windows, Linux.
A sample roll 208 / 480 reviewed
195 discarded
13 kept
Press the arrow keys. Sample photos by Bernard Gagnon, CC0, from Wikimedia Commons.
A shoot doesn’t end when you stop shooting.
It ends weeks later, when you sit down with the folder. A file manager makes you open a photo, drag it somewhere, and remember what you already decided. Ten minutes in you’re not culling, you’re doing inventory.
- Open
- A preview window, sized wrong, one photo behind.
- Drag
- A “best” folder you don’t trust, because you lost count halfway.
- Resume
- You stopped at photo 200 last week. Or was it 180?
One photo. One question: keep it?
The photo gets the screen
No part of the interface covers the image. Press F and the bars go away too.
Check sharpness before you decide
Space shows the photo at 1:1, one image pixel per screen pixel. Space again fits it back.
The keys do the work
Right keeps, left discards, U takes back the last decision. The next photo is already loaded.
Stop when you want
Every decision is saved the moment you make it. Close the window and come back next week. The review is where you left it.
Folder in, folder out.
-
~/Pictures/2024, 480 files
Point at a folder
Type the path or browse the disk. You see the photo count before you open it.
-
← one photo →
Decide
One key per photo. The counters keep score.
-
2024_keep, 31 files
Collect the keepers
Choose copy or move, then press Run. A new folder,
2024_keep, appears next to the original. RAW files follow the photo that shares their name.
480 undecided files in. 31 photos worth showing out.
The other 449 aren’t deleted, compressed or shuffled. They’re still whole, still where you left them, in case tomorrow you change your mind.
The figures are the sample roll at the top of this page.
What PhotoTriage never does.
- It never deletes
- The app has no delete action.
- It never touches a discarded photo
- Not moved, not tagged, not renamed. A discard is a decision, not an edit.
- It never overwrites
- A taken name becomes
IMG_0412_1.JPG. - It never goes online
- The server is bound to
127.0.0.1and no option changes that.
| File | Verdict | Where it is now |
|---|---|---|
| IMG_0410.JPG | discarded | untouched |
| IMG_0412.JPG | kept | 2024_keep |
| IMG_0412.CR2 | its RAW | 2024_keep |
| IMG_0413.JPG | discarded | untouched |
| IMG_0414.JPG | kept | 2024_keep |
| CLIP_07.MOV | not a photo | untouched |
Know the limits before you install.
It is a first pass
One photo at a time is fast for a clear yes or no. It does not put near-identical frames side by side.
It shows JPEG, PNG, WebP, GIF, BMP and TIFF
No HEIC. A RAW file is not displayed. It travels with the JPEG of the same name, so a RAW-only folder has nothing to review.
Undo goes back one step at a time
To change an older decision, undo your way back to it.
Zoom resets on every photo
No ratings, no edits
Keep or discard is the whole vocabulary.