Turn any photo into crisp dithered pixel art. Choose from 12 dithering algorithms and retro palettes such as 1-bit black and white, Game Boy, CGA, EGA, C64 and PICO-8, or build your own colors, then download a sharp PNG at any scale.
Last updated:
OriginalDithered
Click a swatch to change it, × removes it.
Advertisement
Advertisement
How to use the Image Dithering Tool
Add an image: drop, paste or choose a photo. A sample scene is loaded so you can try settings right away.
Pick an algorithm: Floyd-Steinberg or Atkinson for smooth error diffusion, Bayer for the classic cross-hatch pattern.
Pick a palette: 1-bit, Game Boy, CGA and others, Adaptive to sample colors from the photo, or Custom to choose your own.
Tune the look: raise Pixel size for bigger pixels and adjust brightness, contrast and dither strength.
Download PNG at the original size or a pixel-perfect multiple.
1/8 to six neighbors; only 6/8 of the error is kept
Crisp, high contrast, classic early Mac look
Jarvis-Judice-Ninke
Error diffusion
12 neighbors over two rows, divided by 48
Very smooth, coarser grain
Stucki
Error diffusion
12 neighbors, divided by 42
Clean and sharp, similar to JJN
Burkes
Error diffusion
7 neighbors over one row, divided by 32
Fast simplification of Stucki
Sierra / Sierra Lite
Error diffusion
10 neighbors /32, or 3 neighbors /4
Balanced; Lite is close to Floyd-Steinberg
Bayer 2×2, 4×4, 8×8
Ordered
Each pixel is offset by a value from a repeating threshold matrix
Regular cross-hatch, retro game style
Random noise
Ordered
Random offset per pixel
Grainy, film-like
Threshold
None
Every pixel snaps to the nearest color
Flat posterized areas, banding
How error diffusion works
The image is scanned pixel by pixel. Each pixel is replaced by the nearest palette color, and the difference (the quantization error) is added to pixels that have not been processed yet. For Floyd-Steinberg, a pixel with error e passes 7e/16 to the pixel on its right and 3e/16, 5e/16 and e/16 to the three pixels below. Because the error is never thrown away, the average brightness of every region stays close to the original. Serpentine scanning processes every other row right to left, which breaks up diagonal artifacts.
Ordered dithering instead adds a position-dependent offset from the Bayer matrix to each pixel before snapping it to the nearest color. A 4×4 Bayer matrix contains the values 0 to 15 arranged so that neighboring thresholds are as different as possible, producing 17 evenly spaced tone levels between two colors.
Retro palettes in this tool
Palette
Colors
Notes
1-bit
2
Pure black and white, like early Macintosh screens and thermal printers
Game Boy
4
Four shades of green approximating the original handheld's screen
CGA palette 0 / 1
4
The 320×200 four-color modes of early IBM PC graphics
EGA
16
The standard 16-color PC palette, also used by text-mode DOS
Commodore 64
16
A widely used measured approximation of the C64's colors
PICO-8
16
The fantasy console palette loved by pixel artists
Tip: dithering looks best when each dithered pixel is visible. Use a Pixel size of 2-4 for photos, and export at Original size so the PNG has the same dimensions as your photo with sharp square pixels.
Frequently asked questions
What is image dithering?
Dithering is a way to show more tones than a palette really has by mixing the available colors in small patterns. When you look from a distance your eye averages the dots, so a black and white image can still show smooth gray gradients. Old computers, printers and handheld consoles relied on it because they could only display a few colors.
What is the difference between Floyd-Steinberg and Atkinson dithering?
Both are error diffusion methods: each pixel is snapped to the nearest palette color and the rounding error is passed to neighboring pixels. Floyd-Steinberg (1976) spreads all of the error to four neighbors with weights 7/16, 3/16, 5/16 and 1/16. Atkinson, used on the early Apple Macintosh, passes only 6/8 of the error to six neighbors, which gives higher contrast and cleaner highlights and shadows.
What is Bayer or ordered dithering?
Ordered dithering compares each pixel to a fixed threshold matrix (the Bayer matrix) that repeats across the image. It needs no error propagation, so it is fast and gives a regular cross-hatch texture that is typical of 8-bit and 16-bit games. Larger matrices (8×8) give more intermediate tones than 2×2.
How do I make a Game Boy style picture?
Choose the Game Boy palette, which uses the four shades of green of the original handheld, set Pixel size so the image is around 160 pixels wide, and try Bayer 4×4 or Atkinson. Download with the Original size option to keep the chunky pixels sharp.
Why does my download look blurry in some apps?
The PNG itself is pixel-perfect. Some viewers smooth images when they zoom. Export at a larger scale such as 4× or the Original size option so every dithered pixel becomes a solid block that stays sharp when displayed.
What does the Adaptive palette do?
It runs a median cut color quantization on your image and keeps the 2 to 32 colors that represent it best, then dithers with those colors. This usually gives the most faithful result for a given number of colors.
Are my images uploaded?
No. All processing happens on your device with the Canvas API, so your photos never leave your browser.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.