The short version. Five controls convert a frame; the other twenty wait until you need them, and nothing runs until you ask. If you only want to convert a roll and stop, the six-step guide is the shorter road.
Everything on this page is in Open Negative Initiative, a free macOS application for converting and editing scanned film: colour negatives, positives and black & white, from a camera scan or a scanner. It runs on its own, with no host application to buy. It is native, and floating point from the RAW to the file it writes. macOS 13 or later. Apple Silicon and Intel.
Free, macOS 13 or later. No account, no trial limit, no watermark.
The five you will use on every photograph
- The mode, in the top bar. Negative, positive or black & white.
- The crop, drawn inside the image so the film edge falls outside it.
- One automatic balance, which gets you a converted frame in a single click.
- Exposure, for brightness.
- Temperature, for the colour of the light.
That is one frame. Everything below is what the other twenty controls are for.
A roll of thirty-six, end to end
- Import the folder. Nothing is copied and nothing is moved.
- Crop each frame. This is the part that does not batch: framing never travels with a paste, so a paste can never destroy a crop you drew, and on a copy stand where the rig has not moved, thirty-six identical frames are still thirty-six crops by hand.
- Set the mode in the top bar.
- Select the roll and press one automatic balance. It runs on every frame in the selection, and each frame is measured on its own rather than inheriting another frame's answer, which is what survives an exposure that drifts along the roll.
- Paste what is a decision, not a measurement. Contrast, saturation, the look you settled on: those go row by row over the selection.
- Export the selection in one pass, with the count written into the button.
The three things that decide everything
- It inverts in density, not with
1 − x. Inverting linear data crushes everything into the first few percent. In density, the sliders behave linearly in stops, so a correction reads like an exposure change instead of a fight with a curve. - Nothing decides on its own. No film-base detection, no smart inversion, no preset applied on import. The automatic balances run on a click, show you what they propose before acting, and are a starting point that ⌘Z undoes. Your film's personality comes out because nothing tried to guess it away.
- Floating point end to end, including between two nodes of the processing graph. A linear Rec. 2020 working space throughout, because getting a colour negative to a neutral starting point takes very strong per-channel gains, and on sRGB primaries that clips before you ever reach export.
In depth
Each of the five below has its own page, because each rests on something measured instead of chosen.
- Density inversionWhy inverting a negative is not 1 − x, and what that changes under your hand.
- Automatic balanceSix of them, because none is right on every photograph. Each one was measured, film by film.
- Levels on densityA black point you can place under zero, on an axis graduated in real densities.
- Chroma denoiseColour noise goes and silver grain stays, because the luma comes out bit-identical.
- Rolls and contact sheetsLay a whole roll six frames to a row, balance it once, then send that answer back to every frame.
- Archive and ProjectsRolls boxed in one index, frames pulled across rolls in another, the same file and sidecar either way.
Converting the negative
- Negative, positive, black & white
- The frame's own nature, set in the top bar, not a preset you apply.
- Automatic balance, six ways
- Classic, Mids, Highs, Whites, Body and their average. Each wins on films the others lose, which is why there are six of them and not one.
- Source balance
- Three gains, one per channel, at ±3 stops, applied before everything else: the job a darkroom enlarger's colour head does with its lamp.
- Per-channel levels
- Black, shadows, midtone, highlights and white, placed on a density axis you can read, with the histogram measured before the handles so it does not move under them.
- Density ceiling
- How far up the axis is read, to pull separation out of a burnt patch.
- Flat-field correction
- A reference photograph of the empty light source divided out before anything else, for the falloff of a lens on a camera scan.
Grading colour and light
- Colour
- Temperature and tint as filters, plus colour density, acting after the conversion.
- Lighting
- Exposure, shadows, highlights and the two end points, on RGB or luma.
- Contrast
- A single slider on a smooth spline, so no banding and no flat grey.
- Finishing balance
- Five zones per channel, black to white, that never drag the end points with them.
- Zone saturation
- Split on luminance, from the shadows to the highlights.
Detail: sharpening and chroma denoise
- Chroma denoise
- Colour noise only. The luma comes out bit-identical, so silver grain survives by construction, not by taste.
- Sharpening and texture
- Dosed in full-resolution pixels, with a loupe that renders at 1:1 because no fitted preview can show what the exported file will get.
Framing: crop, rotation and mirrors
- Crop, rotation, straighten, two mirrors
- The whole photograph stays visible under an angle, and a locked ratio survives a quarter turn.
Library, sidecars and presets
- Sidecars are the truth
- One JSON file beside each original. The database is a cache you can throw away without losing a single adjustment.
- Films
- Group frames into a roll with ⌘G and name it. The gallery cuts on rolls, not days.
- Archive
- Rolls live in boxes, named and found again without scrolling past every other one.
- Projects
- Pull frames from any roll, across any box, into one place to edit and export together: a themed set, a delivery, whatever the project is.
- Contact sheets
- A selection laid six to a row in one file, edited and exported as one photograph.
- Presets
- One file each, shared by sending it. Five film presets ship with the app.
- Copy and paste settings
- Row by row, over a whole selection. Framing is never carried over.
- Relink
- A moved or unplugged original is found again by fingerprint, never by file name.
What is in the settings file
Plain JSON, indented, keys sorted, dates in ISO 8601, written beside the original under the original's own name. It carries a format version, and a file written by a newer version of the app opens read-only instead of being rewritten. Absent keys read as neutral, so a file written before a stage existed still opens, with that stage doing nothing.
It is a text file you can open, read and diff, so your adjustments do not depend on a database you cannot inspect.
Exporting, one frame or a whole roll
- 16-bit TIFF or JPEG
- In sRGB, Display P3 or Adobe RGB, with that space written into the file.
- Batch export: a selection in one pass
- With a progress count, and the number of files is written into the button before you press it. A file that would overwrite one of your originals is refused, and two frames that would land on the same name are flagged before anything is written.
- A naming pattern
- The original name, a three-digit sequence number, or both.
- Optional resizing
- On the longest edge, which never enlarges.
- Weighed before you commit
- The sheet estimates the file size from a preview, within 2 %.
- The capture date and nothing else
- No camera body, no lens, no aperture, no serial number, because those are the scan's settings, not the photograph's. It also means no copyright, creator or IPTC field is written; the remedy is a metadata preset applied at import in your catalogue, or one
exiftoolcommand over the folder, and the download page gives both.
Where it will leave you on your own
None of this is promised for a date:
- No automatic frame detection. A strip photographed in one shot is cropped frame by frame, by hand, and a paste never carries a crop, so that stays a per-frame gesture.
- No dust removal, no healing brush, no clone tool. There is no local adjustment of any kind: every control acts on the whole frame.
- No tethered capture. You photograph with whatever software came with the camera, then import the files.
- No copyright, creator or IPTC metadata on export. The capture date is the only field carried over.
- No Windows and no Linux. macOS 13 or later, and that is a real limit: the table of six converters says which ones run there.
Getting it
Free. macOS 13 or later. Apple Silicon and Intel. No account, nothing to unlock, and the app never installs an update without asking. If a word on this page was new, the glossary defines it; the six-step guide converts one frame end to end.
Free, and your originals are never modified.