PixelatePhotos
Tools

Image to pixel art converter

Your photos never leave your device.

The photo is reduced to 64 pixels across with 16 colours. Change the width, colours and dithering until it looks right, then export.

loading the editor…

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.