Image → Pixel Art Converter
Drop a photo. Pick a block size, pick a retro palette. Watch it turn into 8-bit pixel art with crisp nearest-neighbor edges and authentic Game Boy / NES / Pico-8 colours.
How it works
Three-pass Canvas pipeline: (1) draw your image full-size into a hidden canvas with default smoothing on, (2) draw that into a tiny canvas at width / blockSize so each output pixel is the average of a block, then (3) scale back up to the original size with imageSmoothingEnabled = false so the result stays crisp.
Palette quantization happens between steps 2 and 3. The retro presets (Game Boy, NES, Pico-8, Commodore 64, CGA, monochrome, sepia) snap each pixel to the nearest palette colour by RGB distance. "Custom" uses uniform per-channel bit-reduction. Bayer 4×4 ordered dithering is the classic Game Boy / Macintosh look — it nudges pixels above/below the palette threshold based on a fixed pattern so gradients survive at low colour counts.