Pixel art, ASCII art or mosaic from a picture

Turn your photo into retro game graphics, a picture drawn from characters or a building-brick mosaic — with a Game Boy, NES or LEGO palette, in your browser, nothing uploaded.

Drop a picture here, or choose a file

JPG, PNG, WebP, GIF or AVIF, up to 50 MB. You can drop several pictures at once — up to twenty, and the finished ones download as one ZIP.

How does a photo become pixel art?

The picture is divided into a grid — as many columns as you set on the slider — and every cell takes the average colour of the pixels under it. That is pixelation itself: not a filter that tints things “retro”, but genuinely a low-resolution picture, scaled back up sharply and without blur. That is why the blocks stay square, and why it looks like the screen of a 1989 handheld rather than a blurry photo.

The palette is the other half of the effect. The Game Boy’s four greens, the NES’s 54 colours or the LEGO brick colours force the limits of an era or a material onto the picture: every cell gets the nearest palette colour. The “original” setting keeps the average colours, which is more a mosaic photo than game graphics — both have their place, so both are on offer.

ASCII art: a picture made of characters

In ASCII mode every cell becomes a character, chosen by the cell’s brightness: the dark parts get a space or a dot, the light parts heavy marks like # or @. You choose the character set — the classic ten-step ramp, the shade blocks, or a list of your own — and the result comes as a PNG and as plain text. Paste the text into a chat, a README or a comment; use the PNG wherever a monospace font is not guaranteed.

A character is about twice as tall as it is wide, so the ASCII grid has half as many rows as the pixel one — without that every face would stretch. The spaces at the end of each line are kept on purpose: an ASCII picture is a fixed-width block, and a trimmed line throws off the rows below it in a reflowing text box.

A mosaic of building bricks

Mosaic mode draws the same grid, but every cell becomes a brick, with the characteristic stud on top, and by default in the bricks’ real colour set. If you were planning a real mosaic from it, the block count is also the number of bricks per row — 48 columns by 48 rows, for instance, is 2,304 pieces, which fits a 48×48 baseplate.

The picture stays on your device

Reading the picture, splitting it into a grid and drawing all run in your browser. There is no server in this step, and our statistics see nothing but which mode you used with how many pictures. Something is uploaded only when you share the finished picture by link yourself — the one gesture this page exists for.

Frequently asked questions

How big will the finished picture be?

About a thousand pixels wide, whatever block count you set: with fewer blocks we draw bigger squares, with more, smaller ones. That is enough for a post or a profile picture, and the edges of the blocks stay crisp at that size.

Why can’t I recognise the face at 16 blocks?

Because 16 columns really are 16 pixels. A face starts to be recognisable around 32–48 blocks, 64–96 is where the pixel-art look is at its best, and above 128 it turns into a small low-resolution photo. Try the slider: a draw takes an instant.

How do I paste the ASCII picture somewhere?

The “Copy text” button puts it on the clipboard; “Download TXT” saves it to a file. Wherever a fixed-width font is not guaranteed — most chats, social posts — use the PNG, which looks there exactly as it does here.

Why does it not accept HEIC?

Most browsers cannot open an iPhone’s HEIC files. Convert it to JPG first with our image converter and drop that here.

Does it really not upload my picture?

No. The drawing runs in your browser; something is uploaded only when you press “Share by link” yourself — and then it is the finished pixel art, not the original photo.