pictkura
Download

Windows 10 / 11 and macOS 11+  —  v0.2.5

Tens of thousands.
No waiting.

Importing from a camera card, and browsing what you already have. Not a place to develop photos — a place to keep them. Those two things only, written in Rust, with everything we did not build spent on speed instead.

Other downloads →

Free, MIT licensed  /  no account  /  your photos never leave the machine

The pictkura library grid, photos laid out by date, with a year scrubber down the right edge

The library, laid out by date. Drag the bar on the right edge to cross years at once.

0

Directories walked at startup. The NTFS change journal hands over only what changed since last time

17ms

To get the full-size image out of a 24MP CR3 (a RAW file), measured on a landscape shot. Handing over a JPEG takes 6ms, so RAW is barely different — the camera's embedded display JPEG is used rather than developing the file

2.5×

Thumbnails. SIMD scaling, and JPEG decoded at a reduced scale rather than in full

FTS5

Every search is an index seek. CJK is expanded to bigrams, so substrings match too

The machine these were measured on, and the numbers that did not fit here (HEIC takes 0.6–1 second per file), are collected under Measured numbers in the specification.

A photograph is looked at
far longer than it took to make.

Photo: Wikimedia Commons, CC0
01

It is fast because of what is missing

Dragging the year scrubber through six years and 30,000 photos. Wherever it lands, only the few dozen tiles on screen are drawn. The recordings on this site show the Japanese interface; the app itself is in English as well.

Rust + Tauri v2

No bundled browser

The window is the OS WebView; the work is native. Nothing ships a runtime with it, so the download and the cold start both stay small.

media://

No base64

Image bytes stream through a custom protocol, never re-encoded into a string a third larger than the file itself.

Virtual scroll

Nothing exists off-screen

Only what you can see is drawn. However many photos the library holds, the number of elements on screen stays the same.

No layout shift

Sized before the pixels arrive

Width and height live in the database, so tiles never jump around while a screenful loads.

Scan & serve

The grid moves while it scans

Directory scans run outside the database lock. Add a folder and the days fill in as they are found.

No hashing

Files are never re-read

Change detection is size and modification time only. Nothing hashes the contents of your photos on every pass.

02

Starting at the card slot

The import wizard: source tree on the left, the photos it found on the right
Pick a source on the left and its photos appear on the right.
Settings, choosing the folder pattern imported photos are filed into
The resulting folder name is shown as you type the pattern.
From picking the card to 90 photos sitting in the library. Anything already imported is left out from the start.

Copy to any folder you like. Files are filed by capture date using one of nine presets, or a pattern you write yourself, such as {year}/{month} — the resulting folder name is shown as you type.

Sidecars travel with the photo

An .xmp or .dop written by a raw developer shares the photo's name, and comes along with it.

"Already imported" cannot drift

Hiding what you already have uses the same check as the importer, so what you see matches what would happen.

Sizes are verified after each copy

Progress, time remaining and the photo currently being copied are all shown while it runs.

03

Two shelves for choosing

The viewer showing a single photo full screen
One photo at a time. The controls fade out when the mouse stops.

POne frame out of a burst

⚑ is a separate shelf from ★ favourites, so the leftovers of a culling session never fill up what you love.

XRejecting deletes nothing yet

Closing the viewer shows you the faces first, then moves them all at once. Deleting always goes through the recycle bin.

For photos you will come back to

The search box takes , camera:α7 or 2019-08 as they are.

Paging with → while marking with ⚑ and ✕ (the key pressed is drawn at the bottom left). ✕ only puts a mark on the photo — nothing moves anywhere yet.
04

RAW, without developing it

Photo: Wikimedia Commons, CC0

You do not look at RAW every day. You keep it for the day one frame has to be saved. pictkura does not develop it — it pulls out the display JPEG the camera wrote for its own screen. No demosaicing to pay for, and the colour is exactly what the camera rendered. Checked against 28 real files from 16 makers.

Photos

jpg  png  webp  avif
heic  heif  hif  tif
bmp  gif  svg

The AVIF decoder is bundled. HEIC pixels are decoded by the OS

RAW

cr2  cr3  nef  arw
raf  orf  rw2  dng
pef  srw  3fr  x3f …

23 extensions confirmed to give up their preview. Apple ProRAW included

Video

mp4  m4v  mov  webm
avi  mts  m2ts  mkv
3gp  wmv  mpg  mpeg

Duration and dimensions come from the mp4, m4v, mov and 3gp header — not one pixel is decoded

The full support table (specification) →
05

One outbound connection

The only thing pictkura reaches out for is whether a newer version exists. All it sends is the version number — no photos, no file names, no folder paths. Turn it off in settings and the app never touches the network at all.

No account, ever

No sign-up, no login, no expiry date

Cloud files stay in the cloud

OneDrive "online-only" files are fetched only when you actually look at one

Photos stay where they are

Nothing is re-imported into a proprietary catalogue of its own

You can read all of it

The source is public and MIT licensed

Photo: Wikimedia Commons, CC0
06

What it cannot do, up front

This is not trying to be an all-in-one photo application. It is somewhere to keep photos and look back at them, not a darkroom to finish them in.

No RAW development. There is no exposure or white balance to adjust
No AI culling. Nothing judges faces or focus for you
One sort order. Newest capture date first, always
Some videos are empty frames on macOS. Only mp4 and mov are confirmed

Download — v0.2.5

Nothing to sign up for

Windows 10/11 (x64)
macOS 11+ (Apple Silicon)

Other downloads — every file, including the MSI and the language-specific installers →

The builds are not code-signed, so Windows and macOS both warn you the first time. The warning means the publisher could not be verified — it is not the result of anything inspecting the contents. Every prompt, screen by screen, is written out in the installation guide, and the material you can check for yourself is under how these files are built.

Photo: Wikimedia Commons, CC0