Free and open source · Mac, Windows, Linux

From memory card to finished photo.One app, on your own computer.

Import, cull, search, edit and lay out on a page, in one window. The library stays a plain folder on your own disk, and the finished photos mirror to your own Immich server.

  • Cull before anything is imported
  • Search by description
  • Syncs to Immich
  • No account, no cloud
The Rollfilm library: photos grouped by month, with a filter bar for album, rating, colour label, tag, camera and date.
The path

Six steps, one window

Nothing is exported halfway to be finished somewhere else.

01 Import

Nothing lands in the library until you say so

Point at a card, a camera or a folder. The review opens while the copy is still running.

  • Rate and compare before anything lands in the library
  • Your call at the start. Copy the card into an import folder so it can go back in the camera, or leave the photos where they are. The folder stays as a backup unless you say otherwise, and Import settings… can answer once for every import
  • Put it down. A session stays open until you end it: pull the card, come back tomorrow, it is recognised
  • Exact duplicates caught before anything is added
  • A second library folds in with its stars, tags, albums and edits intact
The import review step: staged photos grouped by day, each with stars and a colour label, and an album choice beside the Add to library button at the bottom.

02 Cull

Keep the good ones, lose the rest

Stars, colour labels and tags from the keyboard, then filter down to what you meant.

  • Sort, file type, date, album, rating, colour and tag on a bar you can pin open, and a Camera chip for make, body, lens, focal length, ISO, aperture and shutter speed
  • Select like in the Finder: drag a marquee over the grid, shift-click to extend, Cmd-click to pick
  • Right-click any photo for everything the selection bar does: stars, label, albums, canvas, tags, apply an edit with or without a copy, export, trash
  • Deletions go to the Trash and come back exactly as they were
The filter bar open above the library grid, with album, rating, colour, tag, camera, lens, focal length and date controls.

03 Find

Describe the photo. Rollfilm finds it.

Type “sunset at the beach”. A local model does the looking, so nothing leaves your machine.

  • Search by a similar photo, not only by words
  • A map of everywhere you have shot, and smart albums that build themselves
  • Statistics on the cameras, lenses and focal lengths you actually use
Semantic search: typing a description returns matching photos.

04 Edit

An editor for RAW and JPEG, where the photos already are

Non-destructive throughout. What the preview shows is what gets exported, and the original is never written to.

  • Tone, curves over a live histogram, colour mixer, grading wheels and 132 film looks: twenty Fujifilm simulations and 112 film stocks
  • RAW, corrected: lens distortion and vignetting from the data your camera stored, white balance in Kelvin, luminance and colour noise reduction
  • Masks: radial, linear, brush, luminance and colour, or let it select the sky, water, greenery, people, buildings and ground. Shapes add, subtract or intersect, and every mask carries its own curve, mixer and grading
  • Retouch: heal specks and clone patches on the raw picture, before any tone or colour work
  • Compare against the original, a snapshot or the JPG your camera made, split by a line you drag or side by side
  • Fluid: while you drag, only the pixels your screen can show are rendered, so even a 40MP RAW keeps up
  • Saves itself: no Save button, and a virtual copy is a second version of the same file that costs no disk space
  • Presets: a look saved once applies with one click, to one photo or a whole selection
  • Export as JPEG, 16-bit TIFF or the original, the long edge on a slider up past 8K, file names from a pattern, a watermark, presets
The editor: the photo on the left and the panel list on the right, from transform and film simulation down through tone, curves, colour, details, effects, masks, retouch and presets.

05 Lay out

A page, not just a grid

Put photos on a canvas: a photo book page, a poster, a contact sheet. Move and crop them by hand, then print it.

  • Pages of one size like a book, or one free sheet. A4, A3, Letter, square, or any size in millimetres
  • Captions in any font on the computer, crop in frame, rotate, snap to edges and centre lines
  • Edit a photo on the page. It becomes a virtual copy, and the library original is never changed
  • Export a PDF at the exact page size, every photo lossless, text as real text
The canvas editor: six photos laid out on an A4 landscape page, with the page list on the left and the canvas's photos along the bottom.

06 · Keep

Yours, and still yours in ten years

Plain files in a folder you chose, a database that travels with them, and a backup you can open without this app.

Self-contained

Database and thumbnails live inside the library folder, so the whole thing moves when the folder moves.

One zip, everything in it

Backup writes every photo plus all ratings, tags, albums and edits into a single file. Restore is one step.

Read-only sources

Point at a NAS or an old archive drive and browse it in place. Nothing is copied and nothing is modified.

The last step

Ends where Immich begins

Rollfilm is the desk you work at, Immich is the shelf everyone else looks at. Cull and edit locally, and the finished photos appear on your server. The local library stays the original, always.

  • Three modes: ask on import, selective, or mirror everything
  • Runs in the background, uploading what is missing, mirroring albums and passing deletions on
  • Matched by checksum, so the server does not fill up with duplicates
  • JPEGs by default, so your negatives stay at home. RAW files too, if you switch that on
Rollfilm Immich Your machine Your server
Data sheet

At a glance

Key facts about Rollfilm
What it isAn end-to-end desktop photo manager: import, cull, search, edit, lay out, sync
PlatformsmacOS (Apple Silicon, .dmg), Windows 10 or later (.exe), Linux (.AppImage)
PriceFree. No account, no subscription, no tracking
LicenceOpen source, MIT
Where photos liveA library folder you choose, on your computer or a NAS. Self-contained, so it moves with the folder
SearchNatural-language and similar-photo search, computed locally with a CLIP model
Safety netTrash with restore, backup to a single zip, one-click library repair
File typesJPEG and RAW, with RAW+JPEG pairs shown as one photo
EditingNon-destructive, on RAW and JPEG alike: tone, curves over the histogram, colour mixer, grading wheels, masks including AI subject selection that add, subtract and intersect, retouch with heal and clone, 132 film looks, lens correction, noise reduction, presets, virtual copies, export to JPEG, 16-bit TIFF or the original
CanvasPhotos laid out on pages or one free sheet, any paper size, captions, the editor docked beside the page, print view and lossless PDF export
LookThree light and dark skin pairs, Stone, Pebble and Paper, with a Light, Dark or Auto switch, rounded or square corners, and a typeface of your choice
UpdatesBuilt in on all three systems. Only what changed is downloaded, and it is applied when you quit
On the MacA real menu bar with keyboard shortcuts, a right-click menu, and one task dock in the title bar for everything running
Server neededNone. No Docker, no self-hosting setup
Network useA one-off search-model download on first start, plus your own Immich server if you connect one
Built withElectron, React and TypeScript on a bundled Python and FastAPI backend with SQLite
Download

Take it home

A normal desktop app. Pick your system.

Pick your system above. What it needs to open opens here, with the download underneath it. Or .

macOS warns about every download. When you open Rollfilm, macOS puts up a warning and refuses to start it. Nothing is wrong with the app. Your browser attaches an invisible marker to everything it downloads, and macOS blocks marked apps that were not signed with a paid Apple developer account. Rollfilm is a free project without one.

Taking the marker off is the whole fix. The order matters, because the app has to be in Applications before the command can reach it:

  1. Download the .dmg with the button below.
  2. Open the .dmg and drag Rollfilm into your Applications folder, replacing the copy already there if you are updating.
  3. Paste this into Terminal and press return:
    xattr -dr com.apple.quarantine "/Applications/Rollfilm.app"
  4. Now open Rollfilm.

You do this once. From then on Rollfilm updates itself: it fetches a new version in the background and swaps it in when you quit, and what the app fetched itself carries no marker. The marker is attached to the download, not to the app, so only a .dmg you download in the browser again arrives with a fresh one and needs step 3 again. There is no click-only way round it either: because Rollfilm carries no signature at all, rather than one from a developer macOS has not heard of, it is reported as damaged and Privacy & Security offers no Open Anyway button. Right-clicking the app and choosing Open used to work instead, but Apple removed that in macOS Sequoia.

Download for macOS Apple Silicon · .dmg

Windows warns about the installer. Rollfilm is not signed with a paid certificate, so SmartScreen calls the publisher unknown and stops it. Nothing is wrong with the file, and it takes two clicks to get past.

  1. Download the .exe with the button below, then open it.
  2. A blue window appears: Windows protected your PC. Click More info.
  3. A Run anyway button appears under the text. Click it.
  4. The installer runs as normal, and Rollfilm opens when it is done.

Only the installer is stopped, not Rollfilm itself, so you go through this once. After that Rollfilm updates itself in the background. SmartScreen judges each file on its own, so an installer you download by hand later may well ask again.

Download for Windows .exe installer

Linux does not warn at all. Nothing to approve and nothing to unblock. There is only one thing to know: an AppImage is a single file that carries the whole app, and Linux will not run a file you downloaded until you mark it as a program.

  1. Download the .AppImage with the button below.
  2. Mark it as a program. In your file manager: right-click it, open Properties, and under Permissions tick Allow executing file as program. Or do the same in Terminal:
    chmod +x ~/Downloads/Rollfilm-*.AppImage
  3. Double-click it to start Rollfilm, or run ~/Downloads/Rollfilm-*.AppImage in Terminal.

Rollfilm updates itself from then on and keeps the permission. Only an AppImage you download by hand again arrives without it and needs step 2 again. Nothing is installed system-wide either: the AppImage runs from wherever you put it, and deleting the file removes Rollfilm. If it quits with an error mentioning libfuse.so.2, your distribution ships FUSE 3 while AppImages expect FUSE 2. On Debian and Ubuntu sudo apt install libfuse2 fixes it; on anything else, start the file once with --appimage-extract-and-run.

Download for Linux .AppImage

Latest release: 0.1.92 · Older versions and the source are on GitHub. A card showing an older number means that platform's installer for the latest release is not built yet. Rollfilm is free. If it earns its place on your disk, a small donation keeps it going.

Questions

Asked often enough

What is Rollfilm?

Rollfilm is a free, open-source desktop app for macOS, Windows and Linux that takes a photo the whole way: import from a card, cull, search, edit RAW and JPEG non-destructively, and optionally sync the results to your own Immich server. The library lives on your own computer or NAS, there is no account and nothing is uploaded to a cloud service.

Is Rollfilm free?

Yes. Rollfilm is free of charge and the source code is published under the MIT license. There is no paid tier, no subscription and no account. Donations are welcome but optional.

Does Rollfilm need a server, Docker or an internet connection?

No. Rollfilm is a normal desktop application you install like any other program. There is no server and no Docker. The only time it needs the internet is the one-off download of the search model on first start, and afterwards for your own Immich server if you choose to connect one.

Where are my photos stored?

In a library folder that you pick on first start. The database, thumbnails and import staging live in a hidden .photomanager subfolder inside it, so the whole library is self-contained and moves with the folder. You can point the app at a different folder later to switch libraries.

How does searching photos by description work?

Rollfilm runs a local CLIP model on your machine and stores the resulting embeddings in its own database. Typing something like “sunset at the beach” or “dog in the snow” matches photos by what they look like, without any tagging first. No image and no search term ever leaves your computer.

Does Rollfilm work with Immich?

Yes. Enter your Immich host and API key in the settings and choose a sync mode: ask on import, selective sync for the photos and albums you flag, or full sync for everything. A background loop uploads what is missing, mirrors albums, matches assets by checksum so Immich does not fill up with duplicates, and propagates deletions. JPEGs are uploaded by default and RAW files only if you switch that on, so your negatives can stay at home, and automatic sync can be paused on a metered connection.

Can Rollfilm read RAW files?

Yes. Rollfilm reads RAW files, keeps them paired with their JPEG siblings as a single tile, and gives every RAW a sensible starting correction so it does not look flat on screen. You can switch that off and see the RAW exactly as the camera recorded it.

Is Rollfilm an alternative to Lightroom or Apple Photos?

It covers the same path from memory card to a searchable, edited library, but it is a one-person project, not a Lightroom subscription. Library, search, organizing, the editor and the Immich sync are all used daily on a real library; what Rollfilm does not try to be is Lightroom's ecosystem of mobile app, cloud sync and plug-ins. Compared with Apple Photos or Google Photos, Rollfilm has no cloud, no account, works on all three desktop platforms and keeps your files in a plain folder you control.

Can I merge a second Rollfilm library into my main one?

Yes. If you took a laptop and a small library travelling and culled the trip there, Import a library folds that folder into your main one and carries the work across: stars, colour labels, tags and every edit come with each photo, albums and tags merge by name rather than duplicating, and RAW+JPEG pairs stay paired. A photo the main library already has keeps its file and only takes over the newer ratings and edits. The other drive is only ever read.

Can I stop an import halfway and carry on later?

Yes. An import session stays open until you end it. Continue later closes the review and keeps your ticks, stars, labels and the files already copied. Open import sessions on the Import page lists what is still open, and Continue copies only what is not copied yet, including photos shot onto the card since. A session remembers the card itself rather than its path, so a card you pulled is recognised when it comes back, and a second card or folder can be added to the same session.

Can I make a photo book page, a poster or a contact sheet?

Yes. A canvas is a free design surface: pick photos and choose Add to… canvas, then drag them onto pages of one size, like a book, or onto one free sheet. A4, A3, US Letter, squares or any size in millimetres, with captions in any font on your computer, crop in frame, rotation and snapping. Edit photo docks the full editor beside the page and develops a virtual copy, so the library original is never changed. Export writes a PDF at the exact page size with every photo lossless at full resolution and text as real text, never a re-compressed JPEG.

Is a deleted photo really gone?

No. Deleting an imported photo moves it to the Trash with its stars, tags, albums and edits intact, and Restore brings it back exactly as it was. Only Delete forever on the Trash page removes the original file from your library folder. Photos from an external source are never deleted at all, because their files are not yours to remove. There is also a backup that writes every photo plus all ratings, tags, albums and edits into a single zip you can restore from.

Can Rollfilm browse photos on a NAS without importing them?

Yes. An external source points at a folder, for example on a NAS or an old archive drive, and indexes it read-only. The files stay exactly where they are and are never modified, and each source is re-scanned at startup or on demand.

Why does macOS refuse to open Rollfilm?

The app is not code-signed with a paid Apple certificate, because the membership costs 99 € a year and Rollfilm is an unpaid hobby project, so Gatekeeper blocks the first launch. What actually triggers it is an attribute called com.apple.quarantine that your browser attaches to anything it downloads. Because the app carries no signature at all, rather than one from a developer macOS has not heard of, it is reported as damaged and Privacy & Security offers no Open Anyway button, so the attribute itself has to go. Do not take the dialog's offer to move it to the Trash: that button is the only one it shows, but nothing is wrong with the file, so choose Cancel. Move Rollfilm into your Applications folder and run xattr -dr com.apple.quarantine "/Applications/Rollfilm.app" in Terminal. The marker belongs to the download rather than to the app. From then on Rollfilm updates itself, and a version it fetched itself carries no marker, so the line is needed once and only again for a .dmg you download in a browser. (Right-click → Open used to work instead; Apple removed that in macOS Sequoia.) On Windows, SmartScreen shows a similar warning: choose More info, then Run anyway.

Does Rollfilm update itself?

Yes. On macOS, Windows and Linux the app checks for a new release, downloads it in the background and applies it when you quit. Only what changed is downloaded, some tens of megabytes rather than the whole installer. On a Mac this needs Rollfilm to sit in the Applications folder; run from the disk image, it tells you a new version exists and opens the release page instead.

Can I help, or report something broken?

Please do. Bugs and ideas belong in the issue tracker, and pull requests are welcome. It is a personal project, so replies can take a while. If you would rather help with money than with code, there is a PayPal button at the end of this page.

Why it exists

Built by one person, for a real need

I wanted a simple way to keep my own photos in order. Every tool I tried was either too complicated or could only do part of the job, so I built the thing I was missing.

It was never meant to compete with the big photo programs. Rollfilm should stay small and fast: the things I actually use, in one window, on my own machine.

And to be open about how it is made: this is a full vibe-coded project. The whole app was built with AI as the pair programmer, which is exactly why it grew as fast as it did.

Pasqual Kreher

The library is a folder you can open in Finder. Nothing about that changes if this project ever stops.
The point of the whole thing