Walkthrough

How to turn a photo into pixel art

Upload a photo, set width in cells, cut colors, export the small PNG. That's the real grid; the large file is just a zoomed view.

Use the pixel converter. For portraits, raise width toward 48, colors toward 16, and turn on Floyd–Steinberg. You'll change all of that.

1. Start with a photo that has a silhouette

A face against a plain wall works. A dog in a field works if the dog is bigger than the background. A group of twelve people at a party usually doesn't, because 48 columns can't keep twelve heads. Crop before you upload. On a phone, crop in the camera roll, then upload the crop. The file limit is 15 MB. PNG, JPG, WebP, GIF, and SVG all open. A GIF uses the first frame only.

Nothing is uploaded. The tab reads the file locally. Close the tab and the picture is gone, aside from whatever PNG you downloaded.

2. Set the width, then look at one feature

Drag width until the feature you care about still exists. For a face, that's usually the eyes or the hairline. A 1200×1600 portrait at width 48 becomes 48×64. Each cell covers about 25×25 source pixels. That's why pores vanish and the jaw remains.

If the face collapses, move width up in steps of 8. If it looks like a noisy photo, move width down. The meta line under the canvas tells you the cell count and about how many source pixels sit inside each cell. Read that line. It's more honest than the slider's mood.

3. Fix light before you cut colors

Raise contrast 10 to 25 points if the photo is flat. A little brightness helps a dark phone shot. Saturation near 10 makes a palette mapping easier to read. Do this before you pick Pico-8 or a 8-color palette. Palette snaps fail when the source has no light and dark separation. The muddy result notes use the same order: contrast, then width, then fewer colors.

4. Pick a color count on purpose

16 colors keeps a photo recognizable. 8 colors makes a poster. 4 colors only works if the subject is already a shape. Dithering is the escape hatch. Floyd–Steinberg scatters error to neighboring cells, so a cheek can be two pinks instead of one blob. Atkinson scatters less of the error, so you get more solid areas and a bit more grain. Turn dithering off when you want a chart you could stitch. Speckles are annoying with a needle.

5. Export the file you actually need

Small PNG is width by height in real pixels. If the meta line says 48×64, the small file is 48×64. Large PNG draws each cell as a crisp square, and the grid checkbox draws lines on that large file only. Don't upload the large PNG back into the converter. You'd pixelate the pixels.

Hand edits stick until you move a slider. Click a swatch, then click a cell to repaint a stray pixel. Ctrl+Z (or ⌘Z) undoes the stroke. Changing width rebuilds the grid and clears those edits.

When the photo looks right, stop. More colors won't restore an eyelash the grid already threw away. If you need a game sprite next, open the sprite converter and drop the width to 32.

When this workflow is the wrong tool

Skip conversion for crowd shots, vector logos, or prompt-invented characters. A phone filter's faster if you only want a blurry story thumb and don't need counted cells.

Worked numbers for one portrait

Source 1200×1600, width 48, height becomes 64. Each cell averages roughly 25×25 source pixels. At 16 colors with Floyd–Steinberg on, expect a readable face and a mixed sky. Same photo at width 32 and 8 colors with dither off: poster silhouette, maybe no separate iris. Same photo at width 64 and 24 colors: closer to the photo, worse as an icon. Pick the stop that matches the exit. Sprites go to the sprite converter at 32. Charts go to cross-stitch at 40 with dither off. The muddy result guide is the rescue order if step two already went wrong.

Questions

What width should I start with?

Start at 48 cells wide for a portrait or pet photo. Drop to 32 if the face turns to noise. Go to 64 only if the silhouette is already clean.

Should I dither a photo?

Turn Floyd–Steinberg on for skies, skin, and sunsets. Leave dithering off if you want flat poster colors.

Which file should I download?

Download the small PNG when you need the real pixel size, such as 48×36. Download the large PNG when you want to look at it or share it.

Why did my edits disappear?

Slider moves wipe paint. Moving width or Colors rebuilds from the source photo. Export after you finish hand fixes.

Can I use the same photo for a stitch chart later?

Yes. Keep the original file. Stitch pages want fewer colors and no dither. Re-run from the source, don't upscale a PNG export.

Keep going

Updated 30 September 2026