Real pixel art, not a pixel filter
A pixel filter makes a big image look blocky. A pixel art converter makes a small image: 64 pixels across means a 64-pixel-wide sprite, which you can use in a game engine, a sticker or an avatar, and scale up crisply by any whole number.
Each sprite pixel is the area average of the photo region it represents, then mapped to a palette — either derived from the photo by median cut or k-means, or one of eight retro sets.
Dithering, explained in one line each
Dithering mixes palette colours in patterns to suggest colours the palette lacks.
- None — flat areas, the cleanest look for icons.
- Floyd–Steinberg — spreads the error to neighbours; smooth gradients, slightly noisy.
- Atkinson — spreads only part of the error; crisper, higher contrast (the classic Macintosh look).
- Bayer 4×4 / 8×8 — ordered patterns; the cross-hatched retro console look.
What you can export
A 1× PNG sprite at the exact size, an upscaled PNG (×2 to ×32, nearest-neighbour, so pixels stay square), the palette as a PNG swatch, and the palette as a .hex text file one colour per line — the format pixel art editors such as Aseprite and Lospec palettes use.
Questions
What size should my pixel art be?
32 to 64 pixels across suits avatars and game sprites; 96 to 128 keeps a recognisable portrait; 16 is an icon. The preview updates as you drag.
How do I keep the colours of my photo?
Use the Auto palette and raise the colour count. K-means picks colours that fit the photo more closely than median cut, at a little more processing time.
Can I get a 32×32 pixel art image?
Set pixels across to 32. Height follows the photo's shape; crop your photo square first for exactly 32 × 32.
Why does my upscaled PNG look sharp, not blurry?
It is scaled with nearest-neighbour by a whole number, so each sprite pixel becomes an exact N × N square.
Is my photo uploaded?
No. Conversion happens in your browser; the page has no server to receive it.