Dither an image
Dither an image down to a few colors with Floyd–Steinberg or ordered Bayer dithering, free and in your browser with no upload. Choose 1-bit, Game Boy, CGA, web-safe or a palette read from the image itself.
How images looked before millions of colors. Floyd–Steinberg scatters the error into neighboring pixels, so a handful of colors still reads as a photograph.
In detail
Dither reduces an image to a small palette and hides the banding with a pattern. Floyd–Steinberg pushes what each pixel could not represent onto the neighbors it has not visited yet, while Ordered compares every pixel against a repeating 2×2, 4×4 or 8×8 Bayer grid.
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 at 2 to 32 colors. A Dither at slider works on a smaller copy and scales it back up with smoothing off, so the pattern reads as chunky pixels. Save as PNG; GIF also works and keeps fully transparent pixels, though partly transparent ones are blended onto a solid background.
Dither an image at a glance
- Input
- JPG, PNG, WebP, AVIF, HEIC, GIF (first frame), BMP, TIFF, SVG and other image formats
- Output
- PNG or GIF (JPEG and WebP are offered with a warning)
- What it does
- Floyd–Steinberg error diffusion
- Ordered Bayer dithering at 2×2, 4×4 or 8×8
- Eight palettes, including one read from the image
- A pre-scale for a chunky pixel look
- Batch processing
- Who it is for
- Pixel artists, retro game makers and designers after a print or 8-bit look.
- Limits
- GIF transparency is all-or-nothing, so partly transparent pixels are blended onto a solid background.
- A palette read from the image differs for each file in a batch.
- Privacy
- Runs entirely in your browser: no file is uploaded, and nothing is kept after you close the tab.
How to dither an image
- 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 Apply, then Download. A batch comes back as file4edit-dither.zip.
Dither an image: common 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, though it does not keep transparency. 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.