fotufilm

Download for Mac. See software and stock licences.

Documentation

Fotufilm documentation

Learn how to open a photo, choose a film, make edits, and save your work. You’ll also find guides for the camera, video, and plugins.

Updated September 2026 iOS & iPadOS 18+ macOS 14+

Getting started

Open a photo or video and choose a stock under Film. Choose the film size under Format, then adjust exposure and colour. Press and hold the image to see the original; on Mac, click and hold.

On iOS, Fotufilm checks your device on first launch to set camera and memory limits. Interactions use visual feedback without app-generated haptics. On iPhone, controls and transitions use gentle motion without bounce or staggered entrances. Panels follow your drag and can reverse smoothly. Pull a panel's top handle downward to begin collapsing it into its rounded button immediately; a short pull settles back open. Pull upward to enlarge a resizable panel. These transitions also respect the system Reduce Motion setting.

Platforms and licensing

Fotufilm runs on iPhone and iPad (iOS 18+) and Mac (macOS 14+). On iPhone and iPad, the standard edition includes photo editing with Kodak Gold 200, Kodak Tri-X 400, and Fujifilm Astia 100F.

The Mac release includes photo and video editing, batch export, the standalone fotufilm command-line renderer, and host plug-ins for DaVinci Resolve and Final Cut Pro.

Importing photos and video

Photos

Fotufilm opens JPEG, HEIC, PNG, TIFF, and supported camera RAW files using embedded color profiles. Camera RAW decodes as scene light to preserve highlight headroom for the film shoulder and halation stages. For Adaptive HDR HEIC, expanded linear highlight ratios are retained while normalizing alternate-rendition gain offsets with a single frame-wide exposure placement shared by the apps and the fotufilm command-line renderer. Automatic and Full Range use the SDR rendition only to measure this exposure placement; Standard Range sends the tone-mapped SDR rendition to the film model.

On Mac, files open via standard file dialogs, drag-and-drop, or Finder context menus (Open With → Fotufilm or Services → Open in Fotufilm). Original RAW data remains untouched for unedited RAW export.

Scanned negatives on Mac

Choose File → Import Scanned Negative… with an unconverted scan or RAW file. Drag over an unexposed film-border patch, choose the closest film, and select Preview Positive, then Import Positive. Conversion is approximate; use unadjusted scans with their file color profile and choose Linear Samples only for a known linear scan. The full-resolution positive opens with Normal selected and Crop ready. Reimport the original to change the border sample or film choice.

Video

Standard video decoding reads tagged SDR, HLG, and PQ into a unified scene-linear Rec. 2020 input, preserving declared HDR headroom. For processed standard HDR, a clip-wide exposure placement removes brighter alternate-rendition offsets without compressing highlight detail.

If a clip uses log encoding or has missing or inaccurate color tags, specify the encoding explicitly under Film → Source → Encoding. Supported transfer curves and gamuts include Apple Log, Apple Log 2 / Apple Wide Gamut, S-Log3 / S-Gamut3.Cine, S-Log3 / S-Gamut3, S-Log2 / S-Gamut, F-Log / F-Gamut, F-Log2 / F-Gamut, F-Log2 C / F-Gamut C, and HLG / Rec. 2020. Fotufilm models physical emulsions rather than in-camera digital film-simulation modes.

Source interpretation

Automatic respects the range stored in the file container. Full Range preserves all decoded highlight detail. Standard Range tone-maps HDR prior to film simulation; use this only when Automatic misinterprets range.

Camera calibration and color space

The simulation engine operates internally in scene-linear Rec. 2020 with a D65 white point in 32-bit floating point per channel. All incoming pixels are linearized and mapped to scene reflectance, where an 18% neutral gray card sits at 0.18 and a 90% diffuse white reflector sits at 1.0. Emulsion layer absorption, interlayer chemical diffusion, and halation evaluate entirely in this physical scene-linear space.

Measured camera spectral profiles

For supported camera RAW captures, Fotufilm bypasses generic matrix estimates and evaluates measured 3-channel sensor spectral sensitivities from 380 nm to 780 nm at 5 nm increments, using the Academy Software Foundation dataset (rawtoaces-data).

Bundled measured spectral profiles include:

  • Sony: Alpha full-frame (ILCE-7M3, ILCE-7M4, ILCE-7CM2, ILCE-7RM2, ILCE-7RM3, ILCE-7RM4, ILCE-7SM2, ILCE-7SM3, ILCE-9), APS-C (ILCE-6400), and compact (DSC-RX100M4).
  • Canon: EOS R series (EOS R, EOS RP, EOS R5, EOS R5 Mark II, EOS R6, EOS R6 Mark II, EOS R10), EOS 5D series (EOS 5D, 5D Mark II, 5D Mark III, 5D Mark IV, 5DS), EOS-1D series (EOS-1D X Mark II, EOS-1Ds Mark II, EOS-1Ds Mark III), APS-C / Rebel (EOS 100D, 200D, 200D II, 600D, Digital Rebel XTi, EOS M), and PowerShot S90.
  • Nikon: Z series (Z f) and D series (D850, D810, D800E, D700, D200, D70, D7000, D5300, D5100, D3300).
  • Fujifilm: GFX 100, X-T3, and X-T4.
  • ARRI: ARRI D21.
  • Hasselblad / DJI: L1D-20c (Mavic 2 Pro) and L2D-20c (Mavic 3).
  • Panasonic: Lumix DC-GX9.
  • Insta360: Insta360 X5.

Native video log profiles

Video inputs support exact inverse opto-electronic transfer functions and wide-gamut transformations directly to linear Rec. 2020:

  • Apple Log: iPhone 15 Pro / Pro Max and iPhone 16 Pro / Pro Max in native Rec. 2020 primaries.
  • Apple Log 2: iPhone 17 Pro / Pro Max on iOS 26. The same curve as Apple Log over Apple Wide Gamut, converted through Apple's published primaries.
  • Sony: S-Log3 in S-Gamut3.Cine or S-Gamut3, and S-Log2 in S-Gamut.
  • Fujifilm: F-Log and F-Log2 in F-Gamut, and F-Log2 C in F-Gamut C.
  • Broadcast HDR: ITU-R BT.2100 HLG in Rec. 2020 (diffuse white mapped to 75% per BT.2408).

Unlisted cameras and standard formats

For camera models without bundled spectral measurements, RAW stills decode scene-linearly using container DNG/EXIF color matrices with zero contrast boost, tone compression, or gamut clipping. Standard stills and SDR video convert from tagged source color spaces (Display P3, Rec. 709, sRGB) directly into linear Rec. 2020 before entering the film pipeline.

The editor

Edits are non-destructive; export uses current settings without modifying original files. The editor surfaces controls across Film, Lens, Light & Color, Selective, and Crop.

Preview behavior

  • On iOS, resting stills develop at display canvas density (capped at 2560 px on the long edge). While adjusting controls, the preview displays a half-density copy for interactive responsiveness.
  • When panning or zooming stops, the visible region is redeveloped at current display magnification.
  • Frosted chrome maintains control legibility without modifying canvas color values.
  • Press and hold (or click and hold on Mac) to view the unprocessed source frame.
  • Show Negative displays the developed negative density before print processing.
  • The real-time histogram monitors tonal distribution across the current stage.
  • New Grain Pattern rerolls the pseudo-random grain distribution while preserving the stock's calibrated spatial density and clump statistics.

Film controls

The Film inspector selects the emulsion and configures the physical development model. Controls that do not apply to the chosen stock or medium are hidden automatically.

ControlDescriptionDefault
FilmSelects the emulsion. Normal preserves the source frame without film transformation.Starting stock
FormatSets physical negative dimensions. Smaller formats increase grain enlargement and spatial halation reach.Match the Film
GrainScales calibrated silver or dye-cloud grain variance. Black-and-white films use continuous silver texture so individual samples do not appear as dots.1.00×
MottleModulates low-frequency grain clump covariance.Film’s Own
Disc GrainEnables discrete tabular grain disc rendering where emulsion grain clumps resolve at output pixels.Off
HalationControls back-surface reflection and scatter around high-contrast exposure boundaries.+0.0 EV
Halo ColourShifts negative halation toward source light spectrum.0%
Return SpectrumSelects base reflectance spectral weighting.Flat
CouplersControls development inhibitor release chemistry for interlayer color separation and edge contrast.1.00×
SeparationScales how far the released inhibitor crosses each interlayer.1.00×
Edge ContrastScales inhibition acting within a layer rather than across two.1.00×
Fringe AmountSpreads a share of inter-layer inhibition farther around colour boundaries.0%
Fringe RadiusSets the broad spread on the film in micrometres.100 µm
PushAdjusts chemical development timing using measured push/pull sensitometry curves.+0.0 EV
Bleach BypassRetains metallic silver in color negative processing, increasing contrast and lowering dye saturation.0%
ExpiredSimulates room-temperature aging: speed loss, baseline fog density, increased grain, and layer sensitivity drift.Fresh
Long ExposureEvaluates the emulsion's measured reciprocity failure characteristics under low-intensity long exposures.Off

On iPhone, open Film → Emulsion to find Fringe Amount beside Edge Contrast. Try 5–20% with a Fringe Radius of 50–150 µm. The radius must exceed the film’s narrow inhibitor radius to act. The fringe color follows the film’s layers; these controls model development chemistry rather than lens aberration. Setting Fringe Amount to 0% preserves the existing transport. These settings are saved with photo and video edits.

The lab controls are listed above with the emulsion: push and pull, bleach bypass, expired film and long exposure.

Lens controls

Lens correction compensates for geometric optical distortion, peripheral illumination falloff, and lateral chromatic aberration. Enable Correct Lens to apply embedded DNG lens profiles or calibrated camera profiles.

ControlDescriptionDefault
Lens CorrectionEnables the matched lens profile or the calibrated camera profile.Off
LensIdentifies the matched lens model.Matched
AmountSets overall correction intensity.100%
DistortionCorrects or introduces radial barrel and pincushion distortion.+0.00
VignettingCompensates for peripheral illumination falloff.+0.00
Red / CyanCorrects lateral chromatic aberration by scaling the red channel radially.+0.00
Blue / YellowCorrects lateral chromatic aberration by scaling the blue channel radially.+0.00

Light & Color

Light and Color adjustments apply in scene-linear space prior to film exposure. Grade adjustments apply down-pipeline after the print stage.

In the Mac editor and plugins, Source Illuminant defaults to Stock Native, following the selected film's reference light: 3200 K for 500T, for example. Choose a daylight or tungsten preset, or Custom and a temperature from 1000 to 25000 K, to simulate another source. This is stock-balanced emulation, not recovery of the original scene spectrum. Warmth and Tint refine that light; warmer light means lower Kelvin and positive tint adds green light. The stock's calibration reference stays fixed.

RAW decoding retains its as-shot white, independently of the film's source light. Source edits do not decode the RAW again or change the printing head or viewing lamp. Custom Kelvin uses a smooth daylight or Planckian spectrum, not a measured LED or fluorescent spectrum. Existing RAW edits that relied on automatic capture-light simulation can look different. Explicitly stored camera-light overrides are retained as Custom.

ControlDescriptionDefault
ExposureAdjusts exposure in stops (EV) before film simulation.+0.0 EV
HighlightsScales scene radiance above 18% neutral gray.+0.00
ShadowsScales scene radiance below 18% neutral gray.+0.00
RegionalApplies spatially aware contrast compression across adjacent luminance zones.On
WarmthAdjusts scene-light temperature relative to Source Illuminant, without changing RAW decoding.+0.00
TintChanges the scene spectrum toward green or magenta, perpendicular to the blended blackbody/daylight locus.+0.00
Source IlluminantDefaults to the selected stock's native light, independent of capture metadata. Presets or Custom override only the film-exposure illuminant.Stock Native
Source Illuminant (K)Sets a custom source temperature from 1000 to 25000 K; active when Source Illuminant is Custom.6504 K
SaturationScales radial chroma across all hues uniformly.1.00×
VibranceScales chroma non-linearly, prioritizing muted tones.+0.00
Encoded GradeGrades the sRGB-encoded signal, where a grading suite's corrector works, instead of display-linear light.Off
Shadows WarmthCool to warm, in the shadows+0.00
Shadows TintMagenta to green, in the shadows+0.00
Shadows LevelAdjust the brightness of the shadows.+0.00
Midtones WarmthCool to warm, in the midtones+0.00
Midtones TintMagenta to green, in the midtones+0.00
Midtones LevelAdjust the brightness of the midtones.+0.00
Highlights WarmthCool to warm, in the highlights+0.00
Highlights TintMagenta to green, in the highlights+0.00
Highlights LevelAdjust the brightness of the highlights.+0.00

Three-band Grade

Applies post-print color balance and level trims across Shadows, Midtones, and Highlights. Encoded Grade evaluates the trim on final non-linear output encoding rather than scene-linear light; keep disabled for standard workflows.

Frame & Selective

Crop and perspective

  • Aspect constrains cropping to standard aspect ratios or freeform framing.
  • Straighten applies planar rotation up to ±15°.
  • Vertical and Horizontal rectify Keystone perspective distortion.
  • Rotate and Flip apply 90° increments and axial mirroring.
ControlDescriptionDefault
CropChooses the part of the frame the print is made from.
StraightenRotates the frame off level by up to fifteen degrees.+0.0°
VerticalTilts the picture plane about the horizontal axis.+0.0°
HorizontalTilts the picture plane about the vertical axis.+0.0°
RotateTurns the frame in quarter turns.Upright
FlipMirrors the frame left to right.Off
SelectiveDevelops a colour, a light or a subject differently from the rest of the frame.

On Mac, Four-Corner Crop lets you position each corner independently. Leave Crop or press Return to straighten the selected area. Rotation and flipping keep the corners attached to the image; undo, saved edits, and full-resolution export retain the selection. Drags use a cached display preview and commit one edit on release; film thumbnails refresh after leaving Crop. Choose an aspect ratio for a rectangular crop, or Reset Crop to start again.

Selective edits

Isolates subjects or color ranges for localized pre-exposure correction (Exposure, Highlights, Shadows, Temperature, Tint, Saturation, and Vibrance). Boundaries are refined with Edge, Feather, Range, and Softness controls. Selective edits are saved with the photo and included in photo exports. On iPhone, tap Done to keep the changes or Cancel to discard them. Undo and Redo include selective changes. Subject masks follow crop and rotation. Show Mask is a temporary preview and is never exported. Selective masks apply to still images.

Camera

The iPhone camera renders the selected film in the live viewfinder. Normal displays unprocessed sensor output. The LIGHT control selects the simulated Source Illuminant. New sessions default to Stock Native, so each film uses its own reference light. D65, 2856K, 3200K, 4300K, 5500K, and 6500K are explicit overrides and stay fixed when films change. Previously saved explicit selections are retained. Capture white balance stays fixed at D65, independently of this control; it is not automatic. The selected source carries through to saved photos and their editable recipes. LIGHT is unavailable in Normal mode, where no film is simulated.

Before layer exposure, colors outside physical spectral boundaries are mapped back to the spectral locus boundary. Each film responds through its calibrated spectral sensitivity curves.

Still capture

On supported hardware, still capture requests native Bayer RAW at the greatest reported bit depth. When optical zoom or geometry prevents Bayer capture, Fotufilm requests lossless Apple ProRAW. Native 10-bit HEIF / YCbCr serves as secondary fallback; 8-bit readings are used only when no deeper format exists.

The retained negative decodes to scene-linear Rec. 2020 Float32 and develops through the Metal optical graph, producing a linear 16-bit float Digital Reference master. Reversal film and Normal derive either a 10-bit HLG / Rec. 2020 HEIF or a 10-bit Rec. 709 HEIF; negative film saves the Standard derivative only.

Video capture

Video capture requests Apple Log 2 where available, then Apple Log, falling back to 10-bit HLG, with native 8-bit YCbCr reserved for cameras without deeper stream support. Reversal film and Normal support HDR delivery; negative film records SDR. The top-right GRAIN control toggles real-time grain simulation (limiting capture to 30 fps).

Video reads the camera’s bi-planar scene signal directly into the Metal optical graph at native capture resolution, forming the 16-bit float Digital Reference master read directly by the live viewfinder. Recording does not round-trip through display-referred intermediate buffers.

The sampled-curve engine update preserves every curve point and caches cubic coefficients for camera rendering. See the iPad performance measurements for the tested baseline and device limits.

Video editing

Video uses the same Film, Lens, and Light & Color stages as stills. Scrubbing or pausing renders full preview resolution.

Encoding
Converts tagged SDR, HLG, and PQ to scene-linear Rec. 2020. Specify an explicit camera profile only when container tags are missing or inaccurate.
Cadence
Native preserves source timing; 16, 18, or 24 fps assigns exported frames longer motion duration.
Preview quality
Modulates interactive playback resolution without changing export geometry.
Supported tools
Crop and Selective masking apply to stills only.

Exporting

Photo export

SettingOptions
ResolutionFull native resolution or smaller scaled dimensions within device memory bounds.
File typeJPEG, PNG, HEIC, TIFF, or Original RAW (passes through camera RAW unmodified).
CompressionSmaller File, Balanced, or Best Quality for JPEG and HEIC.
HDR HighlightsSupported for reversal films in HEIC format on HDR-capable devices.
MetadataInclude Location, Capture Details without location, or No Metadata.

Video export

SettingOptions
ResolutionSource dimensions or smaller scaled resolutions.
Frame rateSource, 16, 18, 24, 25, 30, or 60 fps (capped at source rate).
FormatQuickTime (.mov), MPEG-4 (.mp4), Apple ProRes 422 Proxy / LT / 422 / HQ (.mov). On macOS, HEVC 10-bit (.mp4), Apple ProRes 4444, and Apple ProRes 4444 XQ (.mov) are available. ProRes 422 is 10-bit 4:2:2; ProRes 4444 is 12-bit 4:4:4. ProRes 4444 XQ requires macOS 15.
Dynamic rangeSDR, or HDR Highlights for reversal stocks; Maximum Detail or Faster Export. HDR, HEVC 10-bit, and ProRes enforce Maximum Detail.
AudioPass through source audio or export silent stream.

Browser demo

The CPU and WebGPU film renderers preserve the same scene-linear float32 response for identical pixels, settings and film packs. Display conversion and 8-bit sRGB export happen after film processing.

Try the browser demo, marked Experimental in its toolbar, to develop photos and videos with the public film profiles. It opens a scene-linear Rec.2020 EXR response chart with deep shadows, an exposure ramp and highlights reaching 64. Adjust exposure to explore the full scene response. Choose a film and output medium, crop or rotate the image, inspect pipeline stages and export the result. Media is processed locally in your browser.

Open a photo, supported camera RAW file or linear RGB EXR. EXR imports retain negative and above-white floating-point values through cropping and rendering. Embedded chromaticities are converted to the engine's linear Rec.2020 working space; files without chromaticities use linear Rec.709. The browser supports flat, single-part RGB half-float or float EXRs up to 120 megapixels and 512 MB. Downloads are display-ready 8-bit sRGB images.

Video: open MP4, MOV, M4V, WebM or MKV files when the browser supports their video codec. Use Play, Pause and the position slider below the preview. Set Trim in and Trim out in seconds. All film, output-medium, exposure, color, crop, rotate, flip and pipeline-inspection controls apply to the current frame; export applies the finished settings throughout the trim range. Preview playback can skip frames while the film engine is busy. Export renders every frame with its original timing, including variable frame rate, and varies the grain seed per frame.

Input color space offers the same choices as the Mac app: Standard, Apple Log / Rec.2020, Apple Log 2 / Apple Wide Gamut, S-Log3 / S-Gamut3.Cine, S-Log3 / S-Gamut3, S-Log2 / S-Gamut, F-Log / F-Gamut, F-Log2 / F-Gamut, F-Log2 C / F-Gamut C, and HLG / Rec.2020. Select the format used when recording; log encodings are not detected automatically. Standard follows supported SDR, HLG or PQ color tags. HEVC Main / Main10 4:2:0 uses a software decoder when native decoding cannot expose original pixels. Native decoded YUV planes retain 10- and 12-bit code values where exposed by the browser; curve and gamut conversion produces scene-linear Rec.2020 floats before film processing. Unsupported native pixel formats or color tags report an error instead of silently tone-mapping the input.

Export video offers MP4 / H.264 and WebM / VP9, full resolution or a smaller long edge, and Medium, High or Very high quality. Output is 8-bit SDR. The primary video track is exported; Include audio preserves available audio tracks with synchronized timing, copying compatible audio or transcoding when required. If audio cannot be preserved, export reports an error; choose another format or disable Include audio. Odd output dimensions are padded by one pixel for codec compatibility. Input color space, trimming and audio settings are included in undo and saved edits.

Videos stay on this device. Input is read from the selected file in bounded chunks; export encodes frames one at a time with backpressure and writes to a chosen disk file. Where the browser has no save picker, export uses browser-managed disk storage and provides a Download link when complete. Save that download before dismissing it or leaving the page. Cancel and failed exports discard their temporary output. There is no whole-file memory fallback or fixed input-file size limit; disk quota, browser codec support and available memory for an individual frame still apply. Video frames above 40 megapixels are rejected. Closing the page clears the current editing session.

Film rendering requires WebAssembly. The demo uses WebGPU when the browser supports its required features, with a CPU fallback. Normal can use the scene-linear reference when the WASM runtime cannot start. Large images and Layered Transport can take longer to develop. Layered Transport uses the film's default output medium and does not expose individual pipeline stages. RAW photos with a detected capture light require Legacy halation.

Settings

Starting Film and Format
Sets defaults for newly opened media. Match the Film applies native stock dimensions.
Suggest a Film
Predicts an initial stock based on scene characteristics; manual selection always takes precedence.
Photos and Videos Range
Default SDR or HDR delivery targets. Negative films default to Standard SDR.
Photo Quality
Accurate evaluates non-linear film curves directly; Fast uses 3D LUT interpolation. macOS defaults to Accurate; iOS defaults to Fast.
Video Quality
Full processes at source resolution; Fast processes internally at 1080p before upscaling to export geometry.
Video File Size
Sets output encoding bitrate: Automatic, Smaller Files, Higher Quality, or Maximum.
Negative Reading
Light Box keeps the base's orange mask, with the lamp set so the clear base sits just under white; Scanner neutralizes film base density.
Film Model
Default toggles for Disc Grain, Estimated Halation Shape, interlayer diffusion barriers, and edge contrast inhibition.

Custom films

Film Workshop is temporarily hidden on Mac and iPad, including its menu and keyboard shortcut. Existing custom films remain available. On Mac, use Load custom pack… in the film sidebar to import a custom film package (.fotufilmpack). Stocks define emulsion type (color negative, reversal, monochrome), physical format, sensitometry curves, spectral sensitivity distributions, dye density partitions, grain statistics, halation parameters, and print response.

Importing adds verified packs to the local library; malformed or incompatible definitions are rejected.

Mac packs and plug-ins

Desktop download

Download the desktop app.

Host plug-ins

Reopening a saved Final Cut or Motion project retains its film format, output medium, lens choices and texture-stage controls.

The 1.8 desktop release includes all 40 public film profiles under CC BY-SA 4.0, attributed to Fotufilm (fotufilm.com). Sampled characteristic curves require matching app and plugin builds. The macOS app bundles plug-ins for DaVinci Resolve and Final Cut Pro, installable from the Plugins menu:

  • DaVinci Resolve: Installs an OFX bundle system-wide (requires administrator credentials). Restart Resolve after installation.
  • Final Cut Pro: Enables the FxPlug extension and registers its Motion template under Effects → Fotufilm.

For where to place the node and how to grade around it in either host, see colour grading with Fotufilm on the support page.

DaVinci Resolve controls

The Fotufilm inspector groups controls in the order the light passes through them: Input, Film, Light & Colour, Lens & Filters, Development, Grain, Halation, Colour Separation, Output and Pipeline. Input, Film and Output start open; Pipeline holds Stage and Render Mode and starts closed. The Final Cut Pro plug-in uses the same groups in the same order. Controls are disabled when the selected stage, stock, medium or parent setting cannot use them; Texture Only selectors are hidden in other stages.

ControlBehavior
Timeline Color SpaceWhat this node is being handed — the one control that is not taste. The film model is scene-referred in linear Rec.2020: mid-grey at 0.18, specular highlights above 1.0. The input is decoded to that and the result encoded back, so a wrong setting shows the emulsion the wrong light and lands the characteristic curves whole stops off. Auto reads the space the host tags the clip with, where the host says. A display-referred space (Rec.709, sRGB) clips at diffuse white, leaving halation nothing bright to scatter; a wide-gamut log or linear timeline keeps the highlights the model was built for.
StockThe emulsion. Each is a measured stock: its own spectral sensitivity, characteristic curves, couplers, halation and granularity.
Film FormatThe gauge the frame is exposed on. The image height maps onto the gauge's frame height, so a smaller format is enlarged more and shows coarser grain, wider halation and stronger adjacency — the same emulsion at a different magnification. Match Film takes the gauge the chosen stock is known on.
Film Frame Coverage (%)Short edge of the film frame retained after cropping. 100 uses the full frame; 50 enlarges half the frame. Changes grain, halation and other spatial scales, without cropping pixels. Account for any upstream resize yourself.
ExposureCamera exposure, in stops.
Temperature (K)Spectral scene temperature. Lower Kelvin adds warm light. Relative in mired to Source Illuminant; 6504 leaves the selected or stock-native lamp unchanged.
TintGreen/magenta balance of the illuminant.
HighlightsScene-referred highlight recovery, applied before the film model. Keyed to each pixel's regional brightness, so pulling a sky down moves the sky as one piece.
ShadowsThe same shift, fading in below mid-grey.
Regional Tone MaskOff, the highlight and shadow shifts key to each pixel's own luminance instead of to the region it sits in. Identical output when both rest at zero.
SaturationChroma multiplier applied to the scene before the film responds. 1 leaves it untouched.
VibranceChroma boost weighted toward the least colourful pixels; already-vivid colours are left alone.
Source IlluminantLight presented to the film; Stock Native follows the selected film's reference. Temperature and Tint adjust this light. Custom sources use a daylight or Planckian spectrum, not a measured LED spectrum.
Source Illuminant (K)Custom source light before Temperature and Tint; used only when Source Illuminant is Custom.
Filter 1An absorbing filter on the front of the lens. It is integrated spectrally against the chosen film's own three layer sensitivities, which is why the same filter is a different filter on a different stock — an 85B is a correction on tungsten film and a heavy warm cast on daylight film. It also adds the veiling glare of two more air-glass faces, whatever the Veiling Glare slider says — and that added glare is why this control is live only on the Full stage: no kernel this build carries can measure it in a span that ends at the developed negative.
Filter 2A second filter, behind the first. They stack in the order given: their transmittances multiply, and the gap between them makes a ghost of its own.
Filter 3A third filter, behind the second.
MeteringHow the exposure was set with those filters fitted. Metered through is the camera's own photopic cell reading the light that got past the glass, and is the default; it can underexpose behind a narrow filter, because the meter does not use the film's sensitivity. Filter factor is the published compensation, worked out against the emulsion, which restores the luminance record without cancelling the colour change. None is a fixed manual exposure, so the light the filter took lands on the film as underexposure. Ignored with no filter fitted, and live only on the Full stage, which is the only span a filter is live in.
DiffusionA diffusion filter on the front of the lens. A share of the light meets a particle and leaves in a new direction, and the lens images it somewhere else on the frame; the share that missed every particle is untouched, which is why a diffused picture keeps its edges instead of going soft. The black families carry absorbing particles: the blacks still lift and the highlights bloom much less.
Diffusion GradeThe particle loading a product line's 1/8, 1/4, 1/2, 1 and 2 name: one formulation more heavily loaded, so the grade moves how much light takes part and never how far it goes. Ignored with no diffusion filter fitted.
Focal LengthThe taking lens's focal length in millimetres, read only by the diffusion filter: a ray deviated by an angle ahead of the lens lands focal length times that angle off its unscattered position, so the same filter glows bigger on a longer lens, exactly as it does in the world. 0 — the default — is the gauge's own normal lens, which is what the grade numbering on a filter's ring is calibrated around.
Veiling GlareVeiling glare from the taking lens, as a multiplier on the stock's figure. It defaults to 0 because a photographed clip already carries the glare of the lens that shot it, and this stage would veil the shadows a second time. Raise it for light that has met no glass — a render or a synthetic chart — or to stand in for glass worse than the camera's.
Filter CoatingCoating on every fitted absorbing and diffusion filter. Changes transmission and added glare. Multicoated preserves the existing filter look.
Push / PullMeasured push or pull conditions for this film's stated developer, dilution, temperature and agitation. The control is disabled when the stock pack has no measured response.
Bleach BypassHow much of the developed silver the bleach leaves in the negative. The retained silver is a black-and-white image over the colour one: contrast up, chroma down, together.
Film Age (years)Years the roll sat past its process-by date. Speed falls a stop a decade with the blue-sensitive layer going first, base fog rises, and grain rises with the fog — the muddy, crossed toe of an old roll.
Long Exposure (s)Exposure duration for the stock's measured reciprocity response. 0 disables the override. Corrections stop at the last measured duration; no motion blur is added. Use the same value in paired Negative Only and Print Only nodes.
GrainMultiplier on the stock's measured granularity. 0 disables it.
MottleUse the stock's coarse grain mixture, or set a custom share. Full mode only.
Mottle Amount (%)Share of grain variance carried by coarse clumping. Total calibrated granularity is preserved. Custom mottle uses the engine's video delivery size.
Grain AnimationTimeline changes grain each frame. Frozen uses the same field at every time; the texture still responds to changes in the image.
Grain ModelDisc grain is available on silver-image stocks and requires Reference rendering, selected automatically. Subpixel grain uses the clump field; coarse mottle is suppressed where discs render.
Grain SeedSame seed and same frame give the same grain. Grain also advances with the timeline, so a still frame is still, and a moving one is not.
Halation ModelLegacy or layered optical transport. Layered uses an inferred stock construction where included, otherwise an illustrative stack.
HalationMultiplier on the fraction of light the base returns. On the legacy model it scales the light going down rather than the finished halo, so raising it widens the halo as well as brightening it — the way a thinner antihalation layer would. With Estimated Halation Shape on, the film's geometry is pinned and this scales the amount alone. 1 is the stock's authored look — the sheet's look scale times the measured film, whose calibrated returns sit at the patent-floor absorber densities and are all but invisible on their own. The measured film survives at 1 over the look scale (0.025 on a rem-jet stock). Typing past the slider reaches 100.
Estimated Halation ShapeRenders halation through the stock's provisional annular profile — the reflex ring at the base's critical angle — where no independently calibrated profile exists. Off is the legacy Gaussian model and the render every existing project made; the annular road costs roughly half again as much frame time.
Halo ColourHow much the halo keeps the source's own colour instead of the film's layered red. The returning light re-enters the emulsion from below, so a colour film's ring is red whatever the light was; raising this lifts the dimmer records to the strongest record's return, and the ring brightens toward the light's colour. 0 is the film.
Return SpectrumGain over the stock's halation return spectrum. 0 preserves the stock; positive values strengthen this band. Does not create return in an absent band.
DIR CouplersMultiplier on inter-image inhibition, the mechanism behind the stock's colour separation and its Mackie lines. 0 disables it.
SeparationInterlayer inhibitor reach. 1 preserves the stock; 0 seals the layers off.
Edge ContrastWithin-layer inhibition. 1 preserves the stock's retained self-inhibition.
Fringe AmountBroad inter-layer transport fraction, 0-1. 0 keeps the stock's own transport.
Fringe Radius (µm)Broad transport Gaussian sigma on the film, 20-300 micrometers. Read only while Fringe Amount is above zero; 0 keeps the stock's own radius.
Red–Green ReachAdditional multiplier on Separation for the red–green interlayer.
Green–Blue ReachAdditional multiplier on Separation for the green–blue interlayer.
Output MediumChoose where the finished image lives. Match Film uses RA-4 paper for a still negative, the stock's native release print for a motion negative, and the direct positive for reversal film. Digital Reference is the HDR path; paper, projection, Lab Scan, Telecine and Negative are SDR. Negative is available only for negative film.
Viewing IlluminantChoose the light used to judge a physical print. Medium Reference means D50 for photo paper or calibrated 5400 K xenon for a projected release print. Only the viewing light changes; the developed print is not re-timed. Digital Reference, Lab Scan, Telecine and Negative ignore this control.
EnlargerThe lamp house a reflection print is enlarged under. Diffuser is the sheets' own diffuse read and changes nothing; Condenser prints a silver negative harder through the Callier effect. Read only where the medium is an enlarged reflection print.
Channel Contrast MatchDigital correction of channel-contrast mismatch, not physical printer timing. Off preserves the measured record slopes; raise for a more neutral crossover.
Negative ViewingHow the developed negative is read when Output Medium is Negative. Light Box sets the lamp so the clear film base sits just under white and keeps its orange. Scanner divides by the film base, so the base reads white. Other output media ignore this control.
StageWhich span of the pipeline this node performs. Full is the whole thing and is what every other setting here describes. Negative Only stops at the developed negative and writes its per-layer densities — data, not a picture — and Print Only takes exactly that back and finishes it on the selected medium, so the two in series reproduce Full. Texture Only lays the film's spatial character over the frame it is handed and leaves its colour alone. A Negative Only node must feed a Print Only node directly, with the same stock and lab settings and nothing in between: the densities are not colour and anything that grades, resamples or transforms them is not editing a picture.
Texture StagesWhether Texture Only carries this stage. Ignored by every other stage, where the strength controls below select what runs.
Render ModeDefault preserves the launch-time renderer setting. Realtime and Reference override it for this node, for both preview and delivery. Disc grain uses Reference.

Release prints time a correctly exposed gray card to about 1.0 density above clear film (10% transmission); photo paper retains its 18% gray target. The output medium sets this aim for every camera stock. Release-print midtones are darker and highlights have more room than with the previous paper-gray timing. Kodak 2383 uses separate red, green and blue curves.

Release printing uses an approximate UV-blocked tungsten RGB additive printer, separate from the xenon viewing light. Its filter passbands are approximate because complete measured spectra are unavailable in the source sheets. ETERNA-CP retains its published dye curves; their disagreement with the published Gray curve leaves its neutral spectral calibration uncertain.

Command-line renderer

The standalone fotufilm binary composites scene-linear Rec. 2020 associated alpha before film exposure, allowing additive light at zero alpha to trigger halation and tone reproduction. Background defaults to black; specify alternative scene-linear backgrounds using --background white or --background R,G,B. Rendered output is opaque.

Application updates

Select Check for Updates from the application menu to poll for new builds. Updates download the signed installer verified against published release checksums, refreshing the app and both host plug-ins simultaneously.

Mac keyboard shortcuts

ActionShortcut
Open⌘O
Export⌘E
Undo / Redo⌘Z / ⇧⌘Z
Auto Adjust⇧⌘A
Sample a Selection⇧⌘S
Copy Photo⇧⌘C
New Grain Pattern⇧⌘G
Reset All Edits⇧⌘R
Zoom in / out / fit⌘+ / ⌘− / ⌘0
Show Original⌘\
Show Negative⌥⌘N
Show Histogram⌃⌘H
Film Stocks / Inspector⌃⌘S / ⌥⌘I
Inspector tabs⌘1 through ⌘5

Privacy and permissions

  • All image and video development executes locally on device hardware. Media is never uploaded.
  • Camera permission is required solely for viewfinder and capture.
  • Photos permission enables reading and saving images without scanning library contents.
  • No advertising, tracking, or analytics SDKs are included.
  • Share Crash Reports (disabled by default under Settings › Privacy) transmits sanitized crash stack traces with app and OS version. Reports never contain media, filenames, edit parameters, geolocation, account tokens, or persistent hardware identifiers, and are purged within 30 days.
  • The Mac app needs no activation. It may fetch update manifests; pack downloads happen in the browser.

Troubleshooting

Preview and export appear different

Interactive preview runs at display canvas resolution with optimized interpolation. Full export executes at target pixel geometry using direct sensitometric curve evaluation. Evaluate critical grain and sharpness at 100% on the exported file.

Full-resolution export is disabled

Target dimensions exceed safe device VRAM or unified memory limits. Select the highest available permitted resolution.

Log video displays incorrect contrast or color

Configure Film → Source → Encoding to match the camera's recorded transfer function and color space (e.g. S-Log3 / S-Gamut3.Cine, Apple Log) rather than relying on automatic container tags.

Lens correction has no effect

Verify that an embedded DNG profile or camera lens match was identified. If no profile exists, adjust Distortion, Vignetting, and Chromatic Aberration manually.

Controls are hidden or unavailable

Available controls depend on your film and output medium. For example, bleach bypass works with colour negative films. Some iOS features need Fotufilm Pro.

Still need help? Email support@fotufilm.com with your device model, OS version, Fotufilm build number, selected film, and any error message.

The Mac sidebar offers Load custom pack…; Film Workshop and the pack purchase button are hidden. Load custom pack… imports an optional custom pack from the bottom of the film sidebar. Packs also load in the Fotufilm plugins on the same Mac and user account. Restart Resolve or Final Cut Pro after importing or updating a pack, and keep the plugins updated with the app. Pack updates replace the previous version. If a pack needs a newer Mac app, update Fotufilm and load the pack again.

Halation Model in Film Model settings selects Legacy or Layered Transport. Legacy remains the default. Both models use the same capture illuminant; without capture-light metadata, both use the film’s reference light to preserve neutral balance. Layered Transport uses an inferred stock construction where included, otherwise an illustrative stack. These constructions are estimates, not measured film stacks. Layered Transport may use more memory and render more slowly. Donor-layer stocks currently require Legacy. Estimated Halation Shape applies only to Legacy.