Corrected on your own machine — we never get a copy.

Enhance a folder, and be told which files needed nothing

A generic batch enhancer applies one fixed set of adjustments to everything you give it. This one measures each photograph and runs only the passes that file actually needs — so a frame that is already correctly exposed, neutral and full-range comes back byte for byte, reported as such, rather than quietly pushed around.

Drop a dull photo here and we'll take a first pass at it.
JPG, PNG, WebP and AVIF decode everywhere. HEIC fetches its codec the first time.

The eight passes, and what decides each one

Range
Black and white points, from the 0.1st and 99.5th percentiles
Exposure
A linear-light gain in stops, from the median
Midtones
The residual the gain could not reach, as a curve
Warmth
The illuminant, from grey-world against the brightest one per cent
Contrast
An S-curve on luminance, from the 5th-to-95th spread
Shadows
A lift over the bottom two stops, from how much sits there
Vibrance
Weighted saturation, from the mean saturation of the frame
Clarity
Large-radius local contrast, never past the cap of 40

By default you choose which of the eight may run, and how large a fault has to measure before it is worth correcting — every amount comes out of the file it is applied to. For a set shot under one light, switch to “Same recipe on every file” and a recipe you saved on one photograph is copied onto all of them, numbers unchanged.

A batch is not one preset repeated

A dark interior, an overcast landscape and a warm-lit portrait need different moves. This queue runs the same measurement system as the single-picture corrector independently on every file, then resolves and applies that file's own exposure, levels, colour balance, vibrance and clarity recipe.

What you set is not an amount. It is which of the eight passes this run is permitted to make at all, and how large a measured fault has to be before it is worth correcting — a multiple of the same floor the single-picture rail uses to decide whether a stage is worth printing. At one times that floor the queue fires exactly the passes the rail would have listed for each file.

There is one deliberate exception, and it is a switch rather than a default. A set shot under one light — a product table, a run of passport-style portraits — sometimes wants identical treatment more than per-frame judgement. Save a recipe on one photograph in the single-picture studio, choose “Same recipe on every file” here, and those exact numbers, measured pass included, are copied onto every file. Nothing is measured per file in that mode except the grain the noise-safe guard protects.

The consequence is the thing no fixed-recipe enhancer can offer: a correctly exposed, neutral, full-range photograph clears none of the floors, so it is written back byte for byte rather than re-encoded a generation worse in exchange for nothing. Its row says so, and lists all eight readings that led there.

Boundaries

  • The automatic pass is intentionally conservative and will leave a deliberate night scene dark.
  • Clipped white detail cannot be reconstructed and the queue does not invent it.
  • JPEG files are re-encoded at quality 94; PNG input stays PNG so transparency survives.
  • In the default mode no amount is set by hand. If one frame needs judgement rather than measurement, open it on its own and use the sliders.
  • Every row is re-measured and re-run on each press, so changing a permit always changes the output rather than silently doing nothing.

Inspect one picture more closely