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
Quantize luminance to black or white and propagate the residual through Floyd-Steinberg neighbor weights in scan order.
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
This workflow uses one fixed, documented method so repeated runs on the same decoded pixels are comparable. 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.
Prepare a two-level display preview where dispersed tonal detail is preferable to the repeating pattern of ordered dithering.
Download a separate one-bit error-diffusion PNG; the original file on your device remains unchanged.
Decision guide
Each luminance value is quantized to black or white, then its error is distributed to four unprocessed neighbors using Floyd-Steinberg weights.
Scan-order error diffusion can create directional texture and does not simulate a specific display, ink process, printer profile, or final viewing distance. 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 inspection, transformation, and export run in your current browser tab. Nirmion does not send the selected image to its API for this workflow. The result is a separate derivative or report, while the original file on your device remains unchanged and should be retained for comparison.
Each luminance value is quantized to black or white, then its error is distributed to four unprocessed neighbors using Floyd-Steinberg weights. Existing alpha values remain available to the documented operation. The method does not infer subjects, restore missing detail, calibrate a display, or develop raw camera data. Compare fine edges, gradients, text, texture, and transparent pixels with the original before relying on the result.
Scan-order error diffusion can create directional texture and does not simulate a specific display, ink process, printer profile, or final viewing distance. 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. Results depend on browser decoding and encoding support. Animation, raw development, ICC calibration, layer editing, and batch processing are outside this tool's verified scope.