Positive+ The Mac app
In development

Your phone is already
a 48-megapixel scanner.

Every other phone app inverts a JPEG that Apple has already white-balanced, tone-curved and sharpened — which is why the colour never quite lands. Positive for iPhone would capture RAW sensor data instead, and invert it in log-density space with the same engine as the Mac app.

Read this first

This app does not exist yet. There is nothing to download, and no date. We're deciding whether to build it, and the number of people on this list is most of the decision. Leave your email and you'll hear from us when there's something real to try — or if we decide against it, we'll tell you that instead.

Join the waitlist

One email when there's something to try. No newsletter, no sharing your address. Unsubscribe by replying.

RAW capture

Bayer sensor data straight off the camera as DNG, before the image pipeline bakes in white balance and a tone curve. A true digital negative, from a phone.

Deliberate inversion

The same log-density inversion as the Mac app: sample the film base once, subtract the orange mask as a per-channel offset, flip.

Honest about light

Results are only as good as what's behind the film. The app would measure your light source and tell you when it isn't good enough — rather than quietly producing bad colour.

Frames, found

Point at a strip on a light pad, get the frames detected, deskewed and inverted — 35mm or 120, colour or black & white.

Why this might actually work

A colour negative's orange mask is a constant per-channel gain in linear space — exactly what auto-white-balance fights and loses to. In density space (d = −log₁₀(transmission)) it becomes a constant offset you can simply subtract. That maths doesn't care whether the light came through a flatbed's transparency unit or a light pad on your desk; it cares that the capture is linear. Phone cameras can emit linear RAW. Almost no phone scanning app uses it.

What we won't claim: a phone will not out-resolve a dedicated film scanner, and no amount of processing rescues a capture lit by a bad light source. The honest target is "genuinely good scans from a phone and a decent light pad", not "throw your scanner away".