Cull where your photos live.

Cullstack is a photo and video culling tool that works across your entire storage stack: local drives, NAS, SFTP, Dropbox, OneDrive, Google Photos, iCloud, and your phone, without downloading or consolidating first.

Mac · Windows · Linux  ·  Free 30-day trial, then $99/year  ·  Renewals 40% off  ·  Keep your version if you don't renew

Culling a shoot straight off a NAS. Real time, not sped up.

One app for every storage backend

💻Local drives
🗄️NAS (SMB / NFS)
📡SFTP / WebDAV
☁️Dropbox
☁️OneDrive
📷Google Photos
📷iCloud Photos
📱iPhone / Android

One window for all of them. Cull a wedding shoot stored across your NAS and Dropbox without downloading first.

Built for photographers who manage their own files.

Cull across local, network, and cloud, in place.

Browse your Synology NAS, SFTP backup server, Dropbox, OneDrive, and iPhone in the same window. Star, rate, tag, and move files across storage backends without ever leaving the app. The interface speaks Spanish, French, German, Italian, Portuguese, Russian, and Chinese as well as English.

Cullstack browsing a single shoot spread across a local drive, a Synology NAS, Dropbox, and an iPhone in one window

Two folders at once, each with its own tabs.

Split Grid puts two locations side by side, so you can compare a card against the shoot it belongs to, or move selects from one drive to another without losing your place. Each pane keeps its own tabs, filters and sort order, and either side can be a local folder, a NAS, or a cloud account.

Cullstack Split Grid: two folders open side by side, each with its own tabs, with star ratings and colour flags on the thumbnails and a full preview on the right

Photos and video, treated equally.

Most culling tools treat video as an afterthought. Cullstack ships full Metal-accelerated video preview, frame-accurate scrubbing, and snapshot-to-image, so hybrid photo/video shooters can cull both kinds of footage in one workflow.

Cullstack culling a video clip, with a full-frame preview and a frame-accurate scrubber

Built for the libraries that bog down everything else.

JVM memory safety, async thumbnail generation, and incremental directory loading keep Cullstack responsive at 100,000+ photos, even from a NAS, where some competitors slow to a crawl.

Cullstack thumbnail grid of a large wedding shoot with AI flags marking closed-eye frames

Find any photo by describing it.

Type what you're looking for ("car", "red dress", "the cake") and Cullstack's on-device AI surfaces the matches. No keywords to tag first, no cloud round-trip. Just describe it and it's there.

Cullstack semantic search: typing 'car' surfaces the matching photo from the shoot

Your photos never leave your machine.

No cloud uploads, no telemetry, no training data, no third-party processing. Cullstack reads and writes your files where they already live. Compatible with client NDAs and confidentiality contracts.

Phone import that doesn’t re-import.

Plug in your iPhone or Android and Cullstack brings in only what is genuinely new. Most import tools re-download photos you already have, because iOS reports a different path and timestamp for the same shot each time you connect, so they can’t tell old from new, and you spend the evening deleting duplicates.

Cullstack fingerprints every photo it imports and matches on content, not filenames or dates. Connect the same phone a week later and you get that week’s new frames, nothing else. No Image Capture, no Android File Transfer, no duplicate cleanup.

Incremental phone import is a Pro feature, available on macOS.

Cross-platform, same workflow everywhere.

One license works on Mac, Windows, and Linux. Your ratings, tags, and collections are stored in a local database on your machine, and Cullstack can write standard XMP sidecars next to your files, so Lightroom, Bridge, and Photo Mechanic see your work too.

Speaks your language.

Cullstack is fully translated into 12 languages: English, Deutsch, Español, Français, Italiano, Polski, Português, Русский, 中文, 繁體中文, 日本語 and 한국어. Switch any time in Settings, and Traditional Chinese uses Taiwanese wording rather than a straight character swap. Built for photographers everywhere, not just the English-speaking world.

Fast where it counts: the cull.

Culling is a game of speed: you make a keep-or-cut call in the time it takes the next photo to appear. Cullstack is built around that moment.

Instant previews

Cullstack reads each photo's embedded preview, the same technique the pro culling tools rely on, so the image is on screen the instant you land on it, then sharpens to full resolution a heartbeat later.

📱

HEIC as fast as RAW

iPhone libraries bring most tools to a crawl. Cullstack decodes HEIC natively, so a folder of thousands of iPhone photos loads and culls as smoothly as a card full of RAW.

🗂️

Thousands of files, no stalls

Thumbnails generate in parallel and cache to disk, so big folders fill in fast the first time and open instantly after. The interface stays responsive at 100,000+ photos.

Built on embedded-preview extraction and native decoding, the techniques that make professional culling feel instant. On an M-series Mac with a cold cache we measure the next JPEG on screen in about 50 ms and HEIC in about 70 ms, the same whether you just opened the folder or have been working in it for hours.

Culling in real time, not sped up. Rate with 1 to 5, reject with X, and the next frame is already there.

Your photos stay yours.

Culling means handling your clients' most private moments: weddings, newborns, families, work under NDA. So Cullstack keeps everything on your computer by default. Nothing is uploaded unless you choose to turn on a cloud feature yourself. Private is the default; the cloud is your call, not ours.

🔒

Local by default

Reading, culling, rating, AI. It all runs on your machine. No account required, no servers in the loop, no copy of your shoot leaving your computer unless you explicitly ask it to.

📝

You decide, per choice

Cloud editors upload your clients' photos by default and ask you to trust their retention policy. Cullstack flips that: nothing leaves unless you opt in, knowingly, for that specific task.

✈️

Works fully offline

On location with no signal, behind a client firewall, or just careful with confidential work. Cullstack runs exactly the same with the network switched off entirely.

Private by default, your choice always. Your photos go to the cloud only if you decide they should.

Pick the tier that fits your workflow.

An Annual License with Perpetual Use Rights: your license includes every update released during your active term, and if you choose not to renew you keep your last licensed version, working, indefinitely. Mac, Windows, Linux from one license.

Cullstack is in Early Access. It's functional and runs on real shoots, but it's young and moving fast, features ship continuously and early users help steer where it goes. Early buyers get full Pro features for $99 for their first year, $80 off the $179 Pro price that applies at release.

Free

$0forever · no account required

A real photo manager for personal libraries.

  • Browse local drives, view photos & videos
  • Full-screen viewer, slideshow, compare mode
  • Color labels
  • AI metadata display (Stable Diffusion, ComfyUI, Midjourney)
  • Single-file rename, delete, copy, move
  • Duplicate finder, read-only (find them, don't act on them)
  • Reads XMP sidecars (Lightroom / Bridge / PM compatible)

No expiry. No nag. Yours to keep.

30-day free trial of Pro features · 3 device activations · all updates during your active term · keep your version if you don't renew · volume licenses for studios, contact sales@aviastone.com.

Regular pricing after Early Access: Standard $99/yr (the full culling & organizing toolkit) · Pro $179/yr (adds on-device AI, cloud & network drives, and Live Ingest). Both are annual licenses with perpetual use rights. Renewal pricing is explained in the FAQ.

Detailed feature comparison

Free Standard Pro
Browsing & viewing
Browse local drives
Recursive subfolder browsing
Photo viewer (RAW, JPEG, HEIC, TIFF, PSD, WebP, PNG)
Video player (H.264, H.265, ProRes, AV1, VP9)
Full-screen viewer, slideshow, compare
AI generation metadata display (A1111, ComfyUI, Midjourney)
Culling & organization
Color labels
Reads XMP sidecars (other apps' metadata)
Star ratings (0-5) & pick / reject flags
Comments per file
Full-screen culling mode (auto-advance on rate)
Tags & hierarchical keywords
Stacks (manual & auto-grouping)
Smart collections / saved filters
Sort persistence per folder + manual sort
XMP sidecar writer (round-trip with Lightroom / PM)
File operations
Single-file rename, delete, copy, move
Duplicate finder: find & view duplicates (exact match)Read-only
Duplicate finder: delete / move duplicates from results
Duplicate finder: perceptual (visual similarity)
Privacy scan + EXIF / GPS scrub
Export pipeline (resize, format convert, quality)
Template rename (with AI metadata tokens)
Compress to ZIP
AI assistance (on-device, no cloud)
CLIP semantic image search (type "sunset over water")
Face detection (single + batch select)
Closed-eye detection (flag blinks across a shoot)
Blur & quality flagging (soft, defocus, motion blur)
People / NSFW content flagging
Auto-stack by AI similarity (CLIP)
Auto-stack bursts (capture time + AI)
Auto-stack by face identity (ArcFace / MobileFaceNet)
Recursive CLIP indexing across full libraries
Pro workflow
Cloud & network drives (WebDAV, SFTP, Dropbox, OneDrive)
Google Photos & iCloud Photos browsing
Live Ingest (tethered / Wi-Fi hot folder, auto-rename + metadata)
Incremental phone import (only new photos, integrity-checked)
Split Grid (dual-pane workflow)
IPTC metadata editor + templates
Batch IPTC apply across selection
Batch rename, batch privacy scrub, batch export
Stack-aware batch operations
Priority email support
Platform & licensing
Mac, Windows, Linux
Device activationsUnlimited33
Keep your version, working, indefinitely
UpdatesFreeDuring active termDuring active term

How Cullstack compares.

Cullstack Photo Mechanic Adobe Bridge digiKam Aftershoot Evoto ACDSee
Storage and import
Multi-cloud browsing (Dropbox, OneDrive, Google Photos)
SFTP / WebDAV / NAS browsing
iPhone / Android USB import Partial Partial Partial
Live ingest (tethered / Wi-Fi hot folder)
Culling and workflow
First-class video culling Basic preview Partial Partial Partial
Duplicate finder (exact + visual similarity) Similar-shot grouping
Split Grid (two folders side by side) Multiple windows Light table
Polished pro UX (modern UI, fast culling) Dated Dated
On-device AI
On-device AI (semantic search, face detection, smart stacking) Face + AI auto-tags Cloud / sub Cloud AI keywords + faces
AI-generated image detection (is this photo real?) ✓ add a model
AI generation metadata (A1111, ComfyUI, Midjourney)
Privacy
Runs locally, no cloud upload Cloud
Privacy scan + EXIF / GPS scrub Metadata edit Metadata edit Metadata edit Metadata edit
Platform and licensing
Cross-platform (Mac + Win + Linux) Mac + Win Mac + Win Mac + Win Mac + Win Mac + Win
Linux support
Multi-lingual support
Pricing Free + $99–$179/yr $149/yr · $299 Free Free (open source) Sub only Credits / sub Both
Keep your version if you stop paying

Compared values reflect publicly documented features as of 2026. Cullstack is positioned for photographers who manage their own files across multiple storage systems and want machine-assisted speed without giving up the final call, overlapping with Aftershoot on AI helpers but not trying to be a fully-automated culler, and complementary to RAW developers (Lightroom / darktable / RawTherapee). Free Cullstack also competes directly with Adobe Bridge and digiKam for the local-files-only use case. Evoto is a cloud-based AI editor that recently added culling; its core editing uploads your photos to Evoto's servers, and whether its culling runs on-device is not publicly documented.

Download Cullstack.

30-day free trial. Full feature set. No credit card. No account.

Not sure which Mac? Apple menu → About This Mac. “Apple M1/M2/M3…” is Apple Silicon, “Intel” is Intel.

Prefer no installer? Grab the portable build. Unzip and run, no admin rights needed: Windows · Linux.

Need an older build? See previous versions.

Cullstack is signed and notarized on macOS. During Early Access the Windows and Linux builds are not yet code-signed, so Windows will show a SmartScreen “unknown publisher” warning on first run, code-signing arrives with a future release.

Questions, answered.

Buying and licensing

What does "Early Access" mean, and what am I actually buying?

"Early Access" is about the product's maturity: the app is functional and we use it daily on real shoots, but it's young and moving fast, so expect frequent updates, the occasional rough edge, and a responsive team if something breaks.

As an early buyer you get full Pro features for $99 in your first year, $80 off the $179 Pro price that applies at release. What you're buying is an Annual License with Perpetual Use Rights. At release, pricing becomes two paid tiers:

  • Standard, $99/year: the full culling & organizing toolkit.
  • Pro, $179/year: everything, plus on-device AI, cloud / network drives, and the pro workflow.
  • Loyalty renewal pricing: every renewal is 40% off the current list price for your tier (at today's prices, $59/yr Standard and $107/yr Pro), for as long as you keep renewing. The same rule applies whether you joined at Early Access or at full price. If you let your license lapse for more than 30 days, renewing later starts again at full price.
  • Updates during your active term: every release we ship while your license is active is included.
  • Perpetual use rights: if you choose not to renew, you keep your last licensed version and we never disable it; you only stop receiving new updates. Because that version stops being updated, we can't guarantee future operating-system releases will still run it.
  • Support window: fixes and support cover the current release and the one before it.
  • 3 device activations (desktop + laptop + backup). The free 30-day trial is your risk-free evaluation, so purchases are final, though we always help with genuine technical issues and honor refunds where the law requires.

Prefer to try before you buy? The 30-day free trial unlocks the full Pro feature set. No credit card, no account.

Can I upgrade from Standard to Pro?

Yes, any time. You pay the difference, prorated for whatever is left of your current term, and your renewal date doesn't change. At today's prices that's about $80 to move from Standard to Pro mid-term.

I bought Early Access. What do I renew as?

Early Access includes the full Pro feature set, so you renew as Pro: 40% off the current Pro price, which is $107/yr at today's pricing. The Early Access price covers your first year; the renewal discount then applies on the same terms as every other customer.

What happens to my license if Aviastone disappears?

Cullstack is an annual license with perpetual use rights. The version you've licensed keeps working forever, even if you stop renewing. Activation is verified at purchase and re-checked occasionally for refund/fraud protection, but the app continues to function with a long offline grace window. We will publish a final unlock build if we ever wind down the product.

Can I move my license between machines?

Yes. Each license includes 3 device activations. You can deactivate from a machine you're retiring (Help → Manage License → Deactivate) and free up a slot for a new install. If you've run out of slots due to lost devices, email support@aviastone.com and we'll reset them.

Do you offer a discount for students or non-profits?

Yes. 10% off for verified students, educators, and registered non-profits. Email sales@aviastone.com with proof of status.

How it compares

How is Cullstack different from Photo Mechanic?

Photo Mechanic is the gold standard for fast metadata-driven culling , particularly for sports and news photographers with deep IPTC workflows. Cullstack focuses on a different problem: helping photographers cull across multiple storage systems without consolidating to local first. We work with NAS, SFTP, Dropbox, OneDrive, Google Photos, iCloud, and your phone in one window.

Does Cullstack use AI? How is it different from Aftershoot?

Yes. Cullstack ships on-device AI helpers: semantic image search ("sunset over water"), face detection, closed-eye flagging, NSFW flagging, and AI auto-stacking by visual similarity, capture-time bursts, or face identity (with optional ArcFace / MobileFaceNet models).

What Cullstack doesn't do is pick your keepers for you. Aftershoot's lane is "give me the AI's picks and I'll refine"; Cullstack's lane is "give me AI hints + the fastest possible cockpit to drive my own cull." If you want the machine to decide, Aftershoot's a better fit. If you want machine-assisted speed but keep the final eye on every frame, that's us.

All models run locally, so no photos ever leave your machine, no Cullstack server in the loop. Compatible with the strictest client NDAs.

What it does

Is Cullstack only in English?

No. The interface is available in Spanish, French, German, Italian, Portuguese, Russian, and Chinese as well as English. Cullstack follows your system language on first run, and you can change it any time in Settings. Anything not yet translated falls back to English rather than showing a blank.

Does Cullstack support tethered or Wi-Fi shooting?

Yes, via Live Ingest. Point your camera's tether software, a Wi-Fi/FTP card, or an SD auto-import at a watch folder, and Cullstack imports each new frame the moment it finishes writing , auto-renamed from a template, stamped with your IPTC creator and copyright, and jumped to in the grid so you cull as you shoot. It's the same hot-folder live-ingest workflow Photo Mechanic pioneered, with write-completion detection so a half-transferred frame is never imported truncated.

Cullstack doesn't drive the camera itself (firing the shutter or changing ISO/aperture from the computer). That's full tethered capture, which Capture One and Lightroom handle. For the cull-as-you-shoot workflow most event, studio, and news photographers actually use, Live Ingest covers it.

Can Cullstack tell me which photos in my library are AI-generated?

Yes. There's an AI filter in the grid filter bar with three modes: Any, AI only, and Non-AI only. Photos detected as AI also get a magenta ✦ AI badge in the top-right of their grid cell. Useful for separating client deliverables from moodboard inspiration, auditing a delivery folder before sending, or tagging stock-license-clean photos.

Detection runs in six layers, fastest first, and stops on the first match:

  1. Embedded provenance metadata: A1111, Forge, Fooocus, ComfyUI PNGs; A1111 JPEGs/WebPs; Midjourney JPEGs all leave their own tags, and Cullstack reads them.
  2. Filename pattern match: DALL-E, ChatGPT, Stable Diffusion, Midjourney, Flux, Ideogram, OpenArt, Leonardo, Playground AI, Adobe Firefly, Bing Create, Runway, Imagen, StarryAI, NightCafe + more.
  3. Parent folder name: folders called AI, Generated, Renders, etc.
  4. C2PA Content Credentials: catches ChatGPT, DALL·E 3, Adobe Firefly, Bing Create, and anything else signed with the C2PA industry standard.
  5. EXIF camera-field shape: real photos carry camera Make, Model, ExposureTime, ISO; AI photos almost never do. Combined with format/dimension heuristics (PNG, or sides divisible by 64 ≤ 2048).
  6. ONNX visual classifier (optional, described below).

Tiers 1–5 are built in and run automatically. In testing across mixed libraries they catch the large majority of AI photos on their own.

How does "Find this person" work, and what does the match slider do?

Pick a photo of someone (select it in the grid, or choose a file) and Tools → AI → Find this person filters the grid to their other shots. It matches on facial identity (the geometry of the face), not clothing, pose, or background, so it follows a person across outfit and scene changes. It does need a visible, detectable face: a shot from behind, or with the face turned fully away, won't match. (Requires the two face models listed in the table above.)

The Match slider runs from Loose to Strict. It mostly controls how many true shots of the person you keep, not how many wrong faces sneak in, and different people score far below the same person, so mistaken matches are rare across the whole range:

  • Strict (right). Only the most confident matches. Cleanest results, but you may miss harder shots (sharp profiles, poor light, motion blur).
  • Loose (left). Casts a wider net and pulls in more of their shots, including tough angles, with little risk of look-alikes, since strangers sit well outside the range.

A good workflow: leave it at the balanced default, then nudge it toward Loose if a few shots you expected are missing, or toward Strict if you want only the surest matches. Hit Clear to drop the filter.

How do I connect my Dropbox, OneDrive, iCloud, WebDAV, or SFTP accounts?

All connections live in one place: open Connection → Manage Connections…, then click the button for the backend you want: Add WebDAV…, Add SFTP…, Add Dropbox…, Add OneDrive…, or Add Google Photos…. Fill in the fields, save, then Connect. Each profile becomes its own branch in the sidebar tree (☁ WebDAV, 🔒 SFTP, 📦 Dropbox, ☁ OneDrive, 📷 Google Photos) and you can browse, copy, move, and stack across them the same as a local folder.

  • Dropbox: one-click OAuth. Choose Dropbox, give the profile a label, click Authorize, approve in your browser. Tokens stay on your machine; we never see them.
  • OneDrive: same OAuth flow as Dropbox. Choose OneDrive → Authorize → sign in with your Microsoft account. Works with personal Microsoft accounts; work or school (Microsoft 365) accounts may need your organization’s administrator to approve the connection first.
  • Google Photos: one-click OAuth, but it works a little differently. Choose Google Photos → Authorize → sign in with Google, then pick the photos and videos you want in the browser window that opens. Cullstack only sees the items you select, not your entire library, which is Google’s privacy-first Picker design. To add more later, open the connection and pick again. It’s read-only: Cullstack never modifies, moves, or deletes anything in Google Photos.
  • WebDAV: server URL (https://… or http://…), username, password. Toggle Bypass SSL certificate verification only if you're connecting to a self-signed-cert NAS on your own LAN. Works with Nextcloud, ownCloud, Synology WebDAV, Box (with WebDAV enabled), and any standards-compliant server.
  • SFTP: host, port (default 22), username, and either a password or a private key file. Keys must be in OpenSSH format (~/.ssh/id_ed25519); PuTTY .ppk keys aren't read directly, convert one first with PuTTYgen (Conversions → Export OpenSSH key). An optional passphrase unlocks encrypted keys.
  • iCloud: no setup needed. iCloud Drive appears as a normal folder under your macOS home directory (~/Library/Mobile Documents/com~apple~CloudDocs) . Just navigate to it in the sidebar tree like any other local folder. iCloud Photos surfaces automatically on macOS as the iCloud Photos sidebar entry once you grant Photos library access on first launch.

Connection details are stored on your own machine, in ~/.cullstack/connections.json. Passwords and key passphrases are obfuscated in that file but not encrypted, so for sensitive servers we recommend SSH key authentication with a passphrase you type at connect time. OAuth tokens for Dropbox, OneDrive, and Google Photos are likewise held locally. Cullstack never relays any credential through an Aviastone server.

How does drag-and-drop work? Does plain drag copy or move?

Plain drag-and-drop in Cullstack copies by default, the safer choice for photo workflows, since the original always stays put. Hold Shift (or on macOS / Ctrl on Windows) at the start of the drag to move instead. This applies to every backend: local folders, network drives (WebDAV/SFTP), and cloud (Dropbox/OneDrive). External drags in from Finder or Explorer follow the OS's own copy-vs-move conventions.

Which AI models does Cullstack use, and where do I get them?

Every model is an optional one-click download from Settings → AI → Plug-Ins, and each row names its licence before you install it. Nothing is bundled in the installer and nothing runs until you ask for it.

Full model list, licences, and how to use your own — including the ONNX requirements if you want to install a detector we do not ship.

Your files and privacy

Where is my data stored?

Cullstack reads your photos from wherever they already live: we never copy them to a Cullstack server. Ratings, tags, and collections are stored in a local database on your machine, and Cullstack can write standard XMP sidecars next to your photos so Lightroom, Bridge, and Photo Mechanic can read them. No telemetry, no cloud sync.

Does Cullstack send my client photos anywhere?

No. Cullstack reads and writes your photos where they already live: local drives, your NAS, your own SFTP / WebDAV server, or the cloud accounts you authenticate. Nothing is uploaded to a Cullstack-controlled server. This is a contractual win for wedding and portrait photographers whose NDAs prohibit transmitting images to third-party services.