What you need
Choose one authorised JPEG, PNG, or WebP still image up to 20 MB and 12 million decoded pixels. Animated frames are not processed.
Image Tools / Local studio
Stretch each visible RGB channel from its observed minimum to maximum, preserve alpha and dimensions, and export locally.
Step 1 / Source
Or browse for a JPEG, PNG, or WebP image that you own or are authorised to edit.
One file · up to 20 MB · maximum 50 megapixelsStep 2 / Output
No manual strength is required; visible decoded pixels determine each channel range and flat channels remain unchanged. Processing stays in this browser tab.
The selected image is decoded and re-encoded inside this browser tab.
After download, the preview URL, decoded bitmap, canvas, and selected source reference are cleared.
Nirmion cannot remove the finished file from your device or browser download history.
Workflow guide
Choose one authorised JPEG, PNG, or WebP still image up to 20 MB and 12 million decoded pixels. Animated frames are not processed.
Expand a faded scan review copy while checking whether independent channel stretching introduces an unwanted colour cast.
Download a separate auto-contrast image; the original file on your device remains unchanged.
Decision guide
The tool finds visible-pixel minimum and maximum values per RGB channel, maps each non-flat range to 0-255, and leaves flat channels unchanged.
Per-channel endpoint stretching can clip outliers and shift colour balance; it is not histogram equalization, local contrast, or calibrated restoration. Browser-local processing avoids a Nirmion file upload, but it cannot remove copies stored elsewhere.
MDN Canvas pixel manipulationGood to know
Questions answered
No. For supported JPEG, PNG, and WebP inputs, decoding, pixel transformation, canvas rendering, and export run in your current browser tab. Nirmion does not send the selected image to its API for this workflow. The output is a new derivative, while the original file on your device remains unchanged and should be retained for comparison or later editing.
The tool finds visible-pixel minimum and maximum values per RGB channel, maps each non-flat range to 0-255, and leaves flat channels unchanged. Existing alpha values are preserved. The operation does not infer subjects, recover clipped detail, calibrate a display, or develop raw camera data. Inspect fine edges, gradients, text, skin tones, and transparent pixels in the exported file before relying on the result.
Per-channel endpoint stretching can clip outliers and shift colour balance; it is not histogram equalization, local contrast, or calibrated restoration. The workspace accepts one supported still image up to 20 MB and caps this pixel-intensive operation at 12 million decoded pixels for predictable browser memory use. Output depends on browser decoding and encoding support. Animation, raw development, ICC calibration, layer editing, and batch processing are outside this tool's verified scope.