Dither
Dither reduces an image to a small palette and hides the banding with a pattern: Floyd–Steinberg pushes what each pixel could not represent into the neighbours it has not visited yet — 7/16 to the right, then 3/16, 5/16 and 1/16 across the row below — while Ordered compares every pixel against a repeating 2×2, 4×4 or 8×8 Bayer grid instead. Eight palettes ship with it: 1-bit black and white, the Game Boy's four greens, 16-color CGA, grayscale in 4, 8 or 16 steps, the 216-color web-safe set, and one read from the image itself by median cut at anywhere from 2 to 32 colors. A "Dither at" slider does the work on a smaller copy and scales it back up with smoothing off, so the pattern reads as chunky pixels rather than fine grain.
How it works
- Drop your images Drag one or more files onto the drop area. Each one is kept as a preview-sized copy so moving a slider costs a small resample rather than a full-size one.
- Pick the algorithm Floyd–Steinberg gets the most detail out of the fewest colors. Ordered reveals a grid choice — 2×2, 4×4 or 8×8 — and repeats, so it tiles. None just rounds each pixel to its closest color, and the tool warns that gradients will band.
- Pick a palette Choose one of the seven fixed sets, or "From the image" to reveal a Colors slider from 2 to 32. The chips in the rail show the exact colors that will be used.
- Set the pre-scale "Dither at" runs from 10% to 100%. Below 100 the image is dithered small and blown back up with smoothing off, which turns each dithered pixel into a square block.
- Choose PNG or GIF and process Press Process, then Download. A batch comes back as file4edit-dither.zip.
Questions
- Which output format should I use for a dithered image?
- PNG or GIF. Both are lossless and keep every pixel exactly as it was written, and both are small on an image that is down to a handful of colors — GIF is indexed, which is a natural fit for a palette. Dither warns if you pick JPEG or WebP, because a lossy encoder re-compresses the dither pattern into exactly the noise the dithering was meant to remove.
- What is the difference between Floyd–Steinberg and ordered dithering?
- Floyd–Steinberg is error diffusion: each pixel is rounded to the nearest palette color and the difference is handed on to later pixels, so the result depends on the order they are visited in and gets the most detail out of the fewest colors. Ordered dithering nudges each pixel by an amount that depends only on its position in a repeating Bayer grid, so no pixel depends on any other and the pattern tiles — which makes it the right choice for a texture or a sprite that will be repeated.
- If I dither a batch with "From the image", do all the files share a palette?
- No. Dither reads a palette from each file separately using median cut, so a batch of ten files comes out in ten different palettes. The tool posts a notice saying so whenever "From the image" is selected with more than one file loaded. Pick one of the seven fixed palettes if you need every file to share the same colors.
Every tool