A rebuild: your photo, remade
This is a rebuild: your photo is remade as a small grid of art pixels in a limited palette. Each art pixel is the area average of the part of the photo it covers (not a single sampled pixel), then snapped to the palette you choose, with an optional ordered dither.
Pixelate is the other door: it keeps your photo’s size and blocks it over. Pixel art produces a small picture to be displayed crisp — the strip and the preview show it enlarged without smoothing, and the file can be saved at true size or enlarged by 2× to 16×.
The controls
- Pixels across
- How many art pixels span the short side, 8 to 256. The same number gives the same picture from any source size.
- Palette
- From the photo (2 to 64 colours, median cut), 1-bit, four greens, 16 colours or 32 colours.
- Ordered dither
- A 4×4 threshold pattern between palette colours, for smoother gradients.
- Pixel size (export)
- 1× true size, or nearest-neighbour enlargement by 2, 4, 8 or 16 so each art pixel is an exact square.
Where it falls short
- Below about 32 pixels across, faces and fine detail stop being recognisable.
- Strength is not available: pixel art is a smaller picture, so there is nothing to mix back pixel for pixel.
- SVG export of the pixel grid is not in this version.
The strip, the preview and the saved file run the same code on the same settings, with every size a fraction of the picture, so the file you download is the frame you approved.
Nothing is uploaded
There's no upload step on this page — your picture is decoded in the tab, drawn to a canvas, and gone the moment you close it. The filter runs in this tab, on your device, and the file is written here too.
Questions
- What is the difference from pixelate?
- Pixelate keeps your photo's size and covers it with blocks. Pixel art makes a small, palette-limited picture — 64 art pixels across, say — meant to be shown crisp, then enlarges it by a whole number so every art pixel is an exact square in the file.
- How do I keep pixels sharp when I enlarge it?
- Use the Pixel size choice in the Export panel (2×, 4×, 8× or 16×). The lab enlarges by whole numbers with nearest-neighbour, so each art pixel becomes an exact block of identical pixels. Enlarging a 1× file in another app with smoothing on is what blurs pixel art.
- Which palette should I pick?
- From the photo gives the truest colours for the count you choose. 1-bit and Four greens are deliberately limited, retro looks. 16 and 32 colours are general fixed sets that keep a family of images consistent.
- Why does my picture look blocky at small grid sizes?
- That is the point of pixel art, but below about 32 art pixels across a face or a detailed scene stops being recognisable. Start around 64 and go down until it just holds together.
- Does the ordered dither help?
- On gradients like skies and skin, yes: a fixed checker of in-between steps lets few colours suggest many. On flat graphics it adds texture you may not want, so it is off by default.
Related on this site
- PixelateSquare or hexagonal blocks, each one flat, with optional palette quantisation.
- DitherError diffusion and ordered matrices, at palettes from one bit upwards.
- Cartoonize a photoFlat colour, a short palette and ink lines — a classical construction, not AI.
- PosteriseContinuous tone reduced to measured channel levels, with optional pre-dither.
Rendered on your computer, not on a server.


