Image Dithering
Convert images to black-and-white PNG with Floyd–Steinberg, Atkinson or Bayer 4×4 dithering.
About this image dithering
Convert images to black-and-white PNG with Floyd–Steinberg, Atkinson or Bayer 4×4 dithering Processes media assets directly in the browser using HTML5 Canvas and WebAssembly decoders, ensuring zero file uploads.
Image processing & canvas pipeline
Applies 2D image convolution filters, pixelation, and EXIF metadata sanitization directly to raw RGBA ImageData buffers. Privacy tools apply Gaussian blur kernels or block pixelation to obscure sensitive areas (faces, license plates, credentials). EXIF metadata scrubbing parses TIFF/JPEG binary application segments (APP1, markers 0xFFE1), stripping GPS latitude/longitude, camera serial numbers, device models, and timestamps while preserving image pixel data intact. Generates ISO/IEC 18004 QR codes.
Worked image transformation example
Scenario: Verify Floyd-Steinberg error diffusion with a fixed 3×2 RGBA image.
Sample input:
Processing: Draw locally on Canvas, then write monochrome RGB using Rec.601 luminance and the four fixed error weights.
Illustrative output:
Resolution, dimension & memory limits
Operational constraints and validation boundaries: Each image must be smaller than 25 MB (25,000,000 bytes). Output has black or white RGB values but is exported as RGBA PNG, not a packed 1-bit file or an 8-bit palette image. No animation, metadata, ICC color proof or specific e-ink hardware compatibility guarantee. Full-resolution Canvas memory depends on the device.
Image Dithering image operations execute in client memory via HTML5 Canvas and browser decoders. Inspect output previews before replacing source assets.
In-memory image processing boundary
File buffers and document assets in Image Dithering are processed in-memory via local browser APIs with zero file uploads to CZOA servers.
Image format & W3C Canvas standards
W3C Canvas 2D context specifications and standard image container formats:
Image Dithering verification · Audit standards
How to use it
- Enter, paste, or select your input data into the Image Dithering workspace controls.
Frequently asked questions
Which dithering algorithms are available?+
Operational requirements for "Which dithering algorithms are available?" are verified in local memory during execution of Image Dithering.
Which controls and input choices are actually available?+
Choose an image smaller than 25 MB, select an algorithm, process locally and download PNG. All three modes use decoded sRGB brightness 0.299R + 0.587G + 0.114B and preserve decoded dimensions and alpha. Floyd–Steinberg remains the default. Atkinson scans left to right, top to bottom, with threshold 128 and sends one eighth of the error to each of six neighbors; it distributes three quarters of the error. Bayer compares brightness with centered thresholds (matrix value + 0.5) × 255 / 16 in a repeating 4×4 matrix. Select another mode and process again to compare. The worked six-pixel example below is for Floyd–Steinberg.
What algorithm and output limits apply?+
Each image must be smaller than 25 MB (25,000,000 bytes).
What result should the documented example produce?+
For the six-pixel 3×2 fixture, expected row-major RGB is black, black, white / white, black, white. Alpha stays 255, 128, 0 / 255, 64, 255. Actual PNG encoding depends on the browser.
