Skip to content

negaflow app icon

negaflow

From film to finished photograph. Runs natively on macOS and Windows.

website version 1.1.6 macOS 14 or later Windows 11 24H2 or later Apache 2.0 license

English · 한국어 · 日本語 · 简体中文 · Français · Deutsch

Website · Camera scanning guide · FAQ


negaflow Develop

negaflow develops film scans and camera copies, whether color or black and white, negative or positive. You can organize, develop, and print your photos in one app. Adjustments are saved separately, leaving the original file unchanged.

The develop engine is Chroma Engine. GrainMend repairs dust and scratches. You can import, develop, and export image files without a scanner. Connecting a scanner requires a separate plugin.

Unlike the way the analog revival keeps growing, the analog photography process itself is at a standstill. Unless you print it the analog way, film has to go through a conversion into digital before it finally reaches our eyes.

But that whole process is grinding to a halt. Film labs and processing shops keep disappearing, and support from manufacturers and for their products keeps shrinking.

This project started from the inconveniences I felt working this way and that, and from thinking it would be nice if such a feature existed. Building on what I learned and came to know while using 35mm and medium format film, I developed every last bit of it myself. At first it was a toy project I made things on while using it alone, but by now negaflow has become something more than that.

In the end, what matters most is that it works well, that it's comfortable to use, that it has to be fast, and that it produces results made properly on its own. Independently developed, negaflow runs natively on both macOS and Windows, and I folded in the workflows of film labs and of individuals alike.

Celebrating this summer, the bicentennial of Niépce's first-ever photograph. 25 July 2026.

negaflow for macOS and Windows

macOS Windows
Interface SwiftUI WinUI 3
Engine Swift + Core Image C++ + Direct3D
Color management ColorSync Windows ICM

The two native apps use different languages and implementations but have the same features and produce the same results.

The engine code lives in the Chromabase module on macOS and the Native module on Windows.

There is a way to build both at once (cross-platform), but doing that makes both of them slow and they don't work properly. So I wrote the code again from scratch, in the way that is native to each OS. What is the same and what is not is written here.

Download

Get it from GitHub Releases.

File Runs on
negaflow-1.1.6-mac-universal.pkg macOS 14 or later, Apple Silicon and Intel
negaflow-1.1.6-mac-arm64.pkg macOS 14 or later, Apple Silicon only
negaflow-1.1.6-win-x64.exe Windows 11 24H2 or later, x64

The Universal PKG works on most Macs. The same page also has the Silicon build, a DMG, and a ZIP. On the first launch you have to open System Settings, go to Privacy and Security, and click Open Anyway once.

The Windows installer installs into your user folder without asking for administrator rights. It isn't signed, so SmartScreen blocks it once. Click More info, then run it. You can uninstall it from Control Panel.

Connecting a scanner requires a separate plugin. For SANE scanners, use negaflow-scanner-sane. It works on both macOS and Windows.

Features

Everything for turning analog film into a finished photograph is in here.

  • Film-base measurement and development of color and black-and-white negatives and positives
  • Exposure, contrast, curves, HSL, and color grading
  • Extra options like sharpening, noise reduction, grain, vignette, and halation
  • GrainMend, which restores photos by removing dust and scratches.
  • A library with rolls, folders, collections, ratings, stacks, virtual copies, and search by camera, lens, or film
  • Presets and copy-paste that carry the develop process, target, tone, color, detail, crop, and orientation together
  • JPEG and 16-bit TIFF export, ICC profiles, and records such as camera, lens, and film saved into EXIF
  • Seven print layouts, paper previews, photo and ISO paper sizes, and C-print features.

Chroma Engine

Chroma Engine handles film inversion and development.

Before developing a negative, it measures the film base in an unexposed area. If the automatic measurement is off, use the eyedropper or adjust the RGB values.

The default is MAIN with manual adjustments. Auto tone, auto white balance, auto levels, and auto color only run when you press them.

Other targets are PRINT for output through a printer ICC profile, HS and SP in the minilab family, F135 and HR in the lab-equipment family, and EXPIRED for restoring old film. For output you can pick sRGB, Display P3, Adobe RGB, or an RGB ICC profile of your own.

The order of inversion and color processing is in the Chroma Engine doc.

GrainMend

GrainMend repairs dust, pinholes, scratches, and emulsion damage.

GrainMend RGB is a software approach, so it differs from hardware IR.

Auto sweeps the whole photo. Simple, but there will be false detections.
Guided looks only inside the area you mark. It works best on dust picked up during scanning.
Brush is the tool for painting over spots Auto missed, and clone stamp copies pixels from a position you choose.
Clone stamp is a stamping feature where you pick the texture you want and paint it on yourself.

Auto and Guided fill defects using the surrounding texture, checking its direction and structure first. Mistaking a railing or a tile joint for a scratch and erasing it damages the photo.

Edits stay as layers. You can change the strength, check the mask, and switch each one off or delete it.
GrainMend IR adds detection results from the infrared channel a scanner plugin hands over into the same record.

GrainMend IR uses the scanner's infrared channel (IR), but it is neither an implementation of nor a compatibility mode for Digital ICE, iSRD, or SRDx. How it works and the quality and performance standards are in the GrainMend doc.

From import to print

  1. Import image files, or scan with an installed plugin.
  2. Choose the develop process and set the scan target.
  3. Adjust color and tone in Chroma Engine.
  4. Apply GrainMend to the photos that need it.
  5. Check with the before-and-after view and the histogram, then print or export.

Importing alone does not develop anything. It starts when you pick a process and target for a folder and press Apply, or when you enter the Develop view. There is a separate setting to make it automatic, and the default is off.

What each action does to your original files is laid out as a table in From library to print.

negaflow Library

negaflow Print

Scanners and film profiles

negaflow uses only the resolution, bit depth, scan area, exposure, and IR support reported by the plugin. It does not infer features from a scanner model name, which could enable controls the device does not support.

SANE devices are handled by negaflow-scanner-sane, a separate GPL project. The plugin runs as its own process and the exchange format is JSON. negaflow contains no SANE code and links none.

The bundle includes 15 scanner profiles, built from film I shot myself, with 928 recorded data points.

All of them are realOnly: they were built from real scans, but their accuracy has not been verified against an independent reference. I did not want to write up something unverified as verified. Profiles are selected manually; they are not applied automatically based on a scanner name.

The details are in the film profiles doc.

Documentation

Building

The tools and commands differ per platform. The full procedure is in each doc. macOS needs macOS 14 or later and Xcode 26, Windows needs Windows 11 24H2, Visual Studio 2022, and the .NET 10 SDK. The working rules for the repository are in CONTRIBUTING.md.

License

negaflow is released under the Apache License 2.0. It is not affiliated with or sponsored by Kodak, Fujifilm, Noritsu, LaserSoft Imaging, or any other trademark holder. Product names identify compatibility or measurement references. The trademark notice has the detail.

About

film workflow for macOS and Windows. develop scanned negatives, repair dust and scratches, organize rolls, and print or export.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

25 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages