ZipTool
ZipTool

Cull photos in your browser

Drop the shoot — a zip of RAWs or HEICs — and get a thumbnail wall instantly, full-resolution develops on demand, and a rebuilt zip with the rejects gone. The photos never leave your device.

Load from cloud

Drop your shoot (a zip of photos) anywhere on this page

Culling runs entirely in your browser. Client photos never leave your device.

Culling is the first pass after a shoot: hundreds of near-identical frames, and the job is fast, confident keep-or-reject. The tools built for it ask a lot in return — Photo Mechanic is a paid install, FastRawViewer is a paid install, and the new AI cullers want your *entire wedding or client shoot uploaded to their servers* to guess at blinking and soft focus. This page is the other arrangement: drop the zip, judge with your own eyes, cut with an edit, and the photos never leave the machine in front of you.

Nothing is installed and nothing is uploaded. The thumbnails come from the preview JPEGs the camera already embedded in each RAW (which is why the wall appears instantly), and when a frame needs a real look, the same open-source develop engine desktop converters use — LibRaw compiled to WebAssembly — renders the full sensor data in the tab. You can prove the no-upload part: press F12, open the Network tab, and cull — the only fetch is the one-time engine (~1.1 MB, this site’s own domain, cached), and no request ever contains a photo.

How to cull a shoot here

Nothing to install, nothing to sign up for:

  • Drop the shoot anywhere on this page — a zip of RAWs, a mix with HEICs and JPGs, or loose files. The file tree opens with the archive’s folder structure intact.
  • Switch the tree to icon view: a thumbnail wall built from the embedded preview JPEGs — instant, no developing, exactly what culling speeds need.
  • Click any frame for the real look: a RAW develops to full resolution in a second or three (HEIC and JPG open instantly), zoom past 100% to judge focus and eyes, and ← / → walk the folder without stacking tabs.
  • Check the shooting data on any frame — lens, ISO, aperture, shutter, focal length, timestamp — in the Info panel; the EXIF viewer page covers it in depth.
  • Ready to cut? Edit archive opens the entry list: check the rejects, remove them, and the rebuilt zip — keepers only, paths kept — downloads straight from the tab.
  • Culled and want JPEGs out of the keepers? The toolbar’s camera button batch-converts the folder’s RAWs to JPG in one zip — the RAW to JPG flow, same tab.

Two speeds, both honest

Fast culling needs two different views of the same file, and conflating them is where tools get slow or dishonest. The thumbnail wall is instant because it renders the JPEG the camera already baked into each RAW — no processing, just extraction. The full view is a real develop: the sensor data is demosaiced, the as-shot white balance applied, sRGB produced — the same math a desktop RAW converter runs, which is why zooming past 100% shows detail the embedded preview never had.

Both speeds happen in the tab. The wall never waits on a server, and the develop never settles for the preview JPEG the way “instant” online viewers do — you always know which of the two you are looking at.

No AI, on purpose

AI culling services guess at focus, blinking, and duplicates — and as the price of the guess, your entire client shoot goes to their cloud. This page makes no guess and wants no upload: you make the keep/reject call, with zoom, folder walking, and shooting data, and the photos stay on the device the whole time. For working photographers that split is not a feature list, it is the whole arrangement — the shoot is the deliverable, and it never leaves the machine.

The no-install part matters on location too: a laptop, a borrowed machine, a locked-down work computer — anything with a modern browser runs this flow, and closing the tab leaves nothing behind.

Which photos cull here

The whole camera-RAW family — Canon CR2/CR3, Nikon NEF, Sony ARW, Adobe DNG, Fujifilm RAF, Olympus ORF, Panasonic RW2, Pentax PEF and the vendor tail — plus HEIC and ordinary JPG/PNG/TIFF/GIF/WebP. A mixed shoot works as one tree. The reference pages under /open/… and the online RAW viewer cover each format in depth.

Honest limits

Real capability, real boundaries — stated up front.

  • No star ratings or pick flags — the cull is keep-or-delete; a rating schema is not in this version.
  • Deleting rebuilds the zip — removing rejects rewrites the archive in the tab (a progress bar covers it) and downloads it as a new file; the original on your disk is untouched.
  • A develop takes a second or three per frame (thumbnails are the instant ones); 50-megapixel medium format runs longer.
  • One-time engine download (~1.1 MB) from this site’s own domain for RAW develops, cached afterwards — HEIC and JPG need none on Safari, and everything works offline once loaded.
  • Size caps (128 MB per file, 512 MB developed pixels) keep the tab responsive — far above camera files, but stated rather than discovered.
  • A few DNGs store a bitmap instead of an embedded JPEG and fall back to a generic icon in the wall; they still develop normally.

Credits

The develop engine is LibRaw (LGPL-2.1), distributed via rawconvert-wasm (MIT) as WebAssembly and served from this site’s own domain. HEIC decoding is libheif the same way. This page adds the thumbnail wall, the gallery, the editor, and the archive integration; the engines do the developing.

Frequently asked questions

Can I cull photos without uploading them?

Yes — that is the point of this page. Thumbnails, full develops, zoom, metadata, and the delete-and-rebuild all run in your browser tab. Go offline after the page loads and culling keeps working; no request ever carries a photo.

Does this work for RAW files — CR3, NEF, ARW?

Yes, the whole camera-RAW family opens and develops here: Canon CR2/CR3, Nikon NEF/NRW, Sony ARW, Adobe DNG, Fujifilm RAF (X-Trans included), Olympus ORF, Panasonic RW2, Pentax PEF and more — plus HEIC and JPG in the same shoot. Each format’s reference page is linked above.

Can I delete the rejects inside the zip?

Yes. Edit archive opens the entry list — check the rejects, remove them, and a rebuilt zip with only the keepers (folder structure kept) downloads from the tab. Your original archive on disk is never modified; the cull is a new file.

How is this different from AI culling tools?

The AI cullers upload your whole shoot to a server and guess at keepers — blinking, focus, duplicates — then hand you a rating. Here nothing uploads and nothing guesses: you judge with zoom-to-100% develops, folder walking, and shooting data, and you cut with an explicit delete. For client work, the difference is whose servers the shoot lands on.

Is this photo culling tool free?

Yes — no install, no sign-up, no watermark, no per-shoot charge. The limits that exist (file size caps, no rating schema) keep the tab responsive or the scope honest, not sell an upgrade.

Do I need Lightroom or Photo Mechanic for this?

Not for the cull. This flow never imports anything into a catalog — the zip opens as a tree, the cull happens in place, and the output is a plain zip your editor of choice takes from there. If Lightroom is where the keepers end up, this is the pass that happens before it.

Drop here.