Free software

emulsio

Terabytes of photos, under control.

A native desktop app, in Rust with no webview, that catalogues a huge photo library once, finds the duplicates and the edits and shows how you actually shoot.

Install See the code on GitLab

emulsio with a library open: the thumbnail grid filling the window, with one photo selected and its camera data.

A multi-terabyte library that opens at once

The scan runs once and the grid fills in as it goes. For RAW files, emulsio uses the embedded JPEG instead of decoding the sensor, and the next scan only looks at what changed.

emulsio window with a grid of photo thumbnails: landscapes, animals, flowers and buildings.

Duplicates for you to review, never to delete on its own

Identical files, near-identical files and edits of the same shot appear in groups. You pick which to keep, and the rest goes to a quarantine with undo.

Duplicates tool showing the same photo of a cat in two versions, the original and an edited one, with the size and date of each file.

See how you actually shoot

Charts of 35mm-equivalent focal length, aperture, ISO, shutter and the use of each body and lens, so you can pick your next gear with data.

Statistics tab with a horizontal bar chart of the number of photos per camera body.

More features

Filters and collections

Filters by camera, lens, focal length, aperture, ISO and shutter, and saves any filter as a collection without moving files.

Reversible organiser

Lays files out in folders by year, month or brand with a preview, a log of every move and undo.

About the project

emulsio is for people who have been taking photos for years, have piled up a library of several terabytes mostly in a single folder and can no longer browse it. Everything is a query over the catalogue, and only the scanner and the organiser touch the disk.

It never acts on your files by itself. Removing a duplicate or replacing a photo with its saved edit moves the file to a quarantine with undo, and nothing is deleted until you empty it. A file is identified by its content, not its name.

Technologies

Rust, with an egui interface; SQLite for the catalogue, BLAKE3 and a perceptual hash for signatures, rawler for RAW files and rayon for the parallel scan.

License: MIT

Sample material shown in the screenshots:

Install emulsio

Needs Rust (stable).

The .deb package

For Debian 12 or newer and Ubuntu 22.04 or newer.

curl -LO https://gitlab.com/alteronauta/emulsio/-/releases/v2.1.1/downloads/emulsio_2.1.1_amd64.deb
sudo apt install ./emulsio_2.1.1_amd64.deb

Binary for any amd64 Linux

curl -LO https://gitlab.com/alteronauta/emulsio/-/releases/v2.1.1/downloads/emulsio-v2.1.1-linux-amd64.tar.gz
sudo tar -xzf emulsio-v2.1.1-linux-amd64.tar.gz -C /usr/local --strip-components=1

From source

Installs to ~/.local, with the icon and the application-menu launcher.

git clone https://gitlab.com/alteronauta/emulsio.git && cd emulsio
./build-linux.sh

macOS has a script that builds the app. The details are in the README.

Tell us what you need to solve.

adriano@ars.tec.br

@adriano@ars.tec.br