Film Negative to Positive Converter
Turn a scanned colour negative into a proper photograph, orange mask and all.
Loading the darkroom…
About the Film Negative to Positive converter
Scanning your own film is easy right up to the moment you invert it, and then everything comes out with a blue-cyan cast that no amount of white balancing quite removes. This does the inversion the way it should be done, and gives you back skin tones that look like skin.
Drop in a scan — from a flatbed, a dedicated film scanner, or a photograph of the strip on a lightbox — point at the orange border if it is in frame, and adjust the contrast to taste. Colour and black and white are both handled.
It works on any C-41 colour negative, which is nearly all of it: 35mm, 120 roll film, or a sheet. Black and white stock has no mask at all, and gets a simpler path through the same arithmetic.
The orange is not a stain, it is a filter
Hold any strip of colour negative up to the light and it is orange, including the completely unexposed parts at the edges. That is the integral mask, and it was designed in deliberately. The cyan and magenta dyes in colour film absorb light they should not, and the mask is a built-in correction for those unwanted absorptions, intended to be cancelled out by the paper when the negative was printed in a darkroom.
Nobody printing optically ever had to think about it. The moment you scan a negative instead, you inherit the problem the paper used to solve, and the mask sits over your picture as a filter that was never meant to be looked at directly.
Why subtracting cannot work
The mask multiplies rather than adds. Every ray of light leaving the negative has passed through it, so the red, green and blue channels emerge scaled by three different constants. A multiplication is undone by division, and no amount of subtracting will do it — which is precisely why the usual routine of pressing invert and then dragging white balance sliders never lands. You can neutralise the shadows or the mid-tones, but the error is a different size in each, so you cannot neutralise both.
This is also why the results have that particular quality of being almost right. The picture is recognisable, the colours are in roughly the correct places, and something about the skin is persistently, unfixably wrong.
Measuring the mask
The film base is the least dense part of the strip — no exposure, minimum silver, minimum dye — so it transmits more light than anything else and is the brightest thing in the scan. If you include the clear border between frames when you scan, you can point at it and the mask is measured exactly.
If the scan is cropped tight to the image, the brightest pixels are the deepest shadows of the scene, which sit close enough to bare film to work. That is what the automatic estimate uses, and it is right often enough to start from. A high percentile is taken rather than the outright brightest pixel, so a single speck of scanner light leaking past the edge of the film cannot define the colour of the whole frame.
Linear light, and the film's own curve
Two details separate a nearly-right inversion from a correct one. The first is that the arithmetic has to happen in linear light. A scan is gamma-encoded, so its numbers are spread the way an eye notices brightness rather than the way light actually behaves, and dividing gamma-encoded values by each other is physically meaningless. The encoding is undone first and reapplied at the end.
The second is that the step from transmittance back to a scene is a power law rather than a straight line, because film records the logarithm of exposure. The exponent is the film's contrast — around 0.55 for most C-41 stock — and it is the single control that decides whether the result looks like a photograph or like a photocopy. It is offered as a slider because different stocks genuinely differ, and because taste is involved.
Why the blue channel is the noisy one
The mask is densest in blue, which means the blue layer of the negative is looked at through the strongest part of the filter. The whole blue record of your scene therefore arrives squeezed into a short stretch of the available numbers, and expanding it back out expands its quantisation noise along with it.
Nothing in the processing can put back detail that the file never had. If your scanner offers sixteen bits per channel, this is the concrete reason to use it — the extra bits go almost entirely into the blue channel of a colour negative, exactly where they are needed.
Faded film, and when to let it guess
By default one scale is applied to all three channels after the inversion, which trusts the base division and leaves the colour as the film recorded it. That is what you want for a negative in good condition.
Film that has been in a loft for forty years is a different case: the dye layers fade at different rates, so the base is no longer a true description of what happened to the picture. Scaling each channel separately — the automatic white balance option — pulls those back to something plausible. It is worth knowing that it is a guess, and that on a healthy negative it will quietly invent a colour balance rather than reveal one.
Frequently asked questions
Do I need to include the orange border?
It helps a great deal and is not essential. With the border in frame you can point at bare film and the mask is measured exactly. Without it the deepest shadows in your picture are used instead, which is usually close.
Does it work on a photograph of a negative rather than a scan?
Yes, and that is an increasingly common way to digitise film. Put the strip on a lightbox or a white screen, shoot it square-on with a macro lens, and drop the file in. Even lighting matters more than resolution.
What about black and white negatives?
There is a switch for it. Black and white film has no mask to remove, so the inversion collapses to luminance and comes out neutral regardless of any tint your scanner or the film base contributed.
Why does my result still look slightly wrong?
Most often the film base is off. Point at the clear border rather than relying on the estimate. After that it is the contrast slider — different stocks have genuinely different curves, and around 0.55 is a starting point rather than an answer.
Is my scan uploaded anywhere?
No. The image is read into a canvas in your browser and every calculation happens on your device. Nothing is sent anywhere and nothing is stored.
Is there a watermark or a limit?
No. The positive is saved at the full resolution of whatever you put in, free, with no account and no watermark.