SPEKTRAFILM ▸ WEB ▸ MAC ▸ WINDOWS ▸ LINUX

Spektrafilm,
in your browser.

Negs is a free web app built on spektrafilm, Andrea Volpato’s spectral simulation of film. You don’t need Python or a command line, and there’s nothing to install. Open a photo, pick a film and a paper, and drag the sliders.

Free · Open source · Your photos stay on your device

Negs running spektrafilm in a browser: a photo of Rome at dusk on Kodak Portra 400, with film, paper and camera controls beside it

01 ▸ WHAT IS SPEKTRAFILM

A film lab, built from datasheets.

spektrafilm is an open-source Python project that simulates analog photography as physics. It turns your photo back into light, exposes it onto the dye layers of a real film stock, prints the negative onto paper through an enlarger and scans the result. Each step uses the manufacturer’s published data for that stock.

Running it means setting up Python, and developing a large photo can take well over a minute. Negs runs the same model as an app you can play with.

02 ▸ WHAT NEGS ADDS

Same film. Now live.

Web

Nothing to install

The film engine is compiled to WebAssembly and runs in your browser, on your GPU through WebGPU where the browser supports it. Your photos are never uploaded. You can install it as an app and use it offline.

Live

Previews as you drag

Every slider updates the photo while you move it, so you see what the film, the paper and the grain do as you change them.

RAW

Your camera’s files

Open RAW files from most cameras, including 60 MP medium format, plus JPEG, TIFF and PNG. Set white balance for RAWs before the film sees them.

Speed

Seconds, not minutes

On the desktop app, a 60 MP photo develops at full resolution in 2.1 s on the GPU. Python spektrafilm takes 108 s on the same Mac. Benchmarks.

Presets

Bring your settings

Import presets saved from Python spektrafilm, including community presets, and share your own as a file or a link.

Finish

Crop, borders, export

Crop and straighten, add a white, keyline or 35mm border with the stock’s edge print, and export 8- or 16-bit TIFF, PNG or JPEG, or a .cube LUT.

03 ▸ BEFORE / AFTER

A RAW file, developed on Portra 400.

Surfers in the waves seen from above, developed with spektrafilm in Negs on Kodak Portra 400 The same RAW file as macOS renders it by default RAW · Apple default Negs · Portra 400

Drag to compare: the RAW as macOS shows it on the left, Negs on Kodak Portra 400 on the right.

04 ▸ HOW TO

Use spektrafilm online in four steps.

  1. 01

    Open the web app

    Go to getnegs.com/try in a recent browser. It loads once, then also works offline.

  2. 02

    Open a photo

    Drop in a RAW, JPEG, PNG or TIFF, or try a sample photo.

  3. 03

    Pick a film and a paper

    Kodak Portra 400 on Portra Endura is a good start. Or scan the film directly, without paper.

  4. 04

    Adjust and export

    Set exposure, grain and halation, add a border, and export at full resolution.

05 ▸ STOCKS

spektrafilm’s stocks, one click away.

Colour negative

  • Portra 160
  • Portra 400
  • Portra 800
  • Portra 800 +1
  • Portra 800 +2
  • Ektar 100
  • Gold 200
  • Ultramax 400
  • Fujicolor C200
  • Pro 400H
  • Superia X-TRA 400

Slide

  • Ektachrome 100
  • Kodachrome 64
  • Velvia 100
  • Provia 100F

Motion picture

  • Vision3 50D
  • Vision3 250D
  • Vision3 200T
  • Vision3 500T
  • Verita 200D

Black & white

  • Tri-X 400 Experimental
  • Double-X 5222 Experimental

Papers & print film

  • Portra Endura
  • Endura Premier
  • Supra Endura
  • Ultra Endura
  • Ektacolor Edge
  • Crystal Archive II
  • Ilford Multigrade RC
  • Vision 2383
  • Vision 2393

Kodak, Fujifilm and Ilford stock names are trademarks of their owners. Negs is not affiliated with them.

Questions

Is Negs the official spektrafilm app?

No. Negs is an independent, free and open-source project. Its film model and stock data come from Andrea Volpato’s spektrafilm, by way of turbasvin’s Rust port spektrafilm-rs. Please report problems with Negs on its own GitHub, not to spektrafilm.

Will my photo look the same as in Python spektrafilm?

Very close. Negs’s 64-bit reference render is tested against Python spektrafilm and matches it to within a millionth. The GPU render stays within ΔE00 0.02 of that reference, and the web app matches the desktop apps to within one 8-bit step. Two colour-management defaults differ from upstream on purpose. The developer notes have the details.

Are my photos uploaded?

No. The whole simulation runs on your device, in your browser. Nothing you open leaves your computer.

Which browsers does it work in?

Any recent browser. Where the browser supports WebGPU, Negs develops on your GPU. Elsewhere it uses the CPU, which is slower.

Can I run spektrafilm on Mac, Windows or Linux without Python?

Yes. Negs is also a desktop app: macOS 14 or later (Apple silicon and Intel), Windows x64, and x86_64 Linux as a Flatpak, an AppImage or an Arch package. The desktop apps use the same engine with native GPU rendering.

Is it free?

Yes. Negs is free and open source under the GPL-3.0. The film profiles from spektrafilm are under CC BY-SA 4.0.