SpriteForge.tech
Tilesets Open the studio

Why AI pixel art looks bad (and what actually fixes it)

← ALL POSTS · AUGUST 2026 · 7 MIN READ

You typed a prompt, got back something that was recognisably your knight or your potion - and it still looked wrong. Not wrong like a bad drawing. Wrong like a photo of pixel art taken through a wet window. If you've felt that without being able to name it, this post gives you the three tells to look for, the one technical reason behind all three, and the honest list of what actually fixes it - including the options that aren't our product.

The three tells

1. Mixels: pixels that don't agree on a size

Pixel artists have a word for the most common giveaway: mixels - mixed-size pixels. In real pixel art, every pixel sits on one grid: a 16x16 sprite has 256 cells and every mark lands exactly in one. AI output routinely has chunky 4-pixel blocks next to fine 1-pixel details, curves that drift half a cell, outlines whose thickness wobbles. Your eye may not name it, but it reads it instantly as "off". Once you see mixels you cannot unsee them - in AI output, in lazy mobile-game asset packs, anywhere.

2. Colour bloat: sixteen colours pretending to be three thousand

Real pixel art works from a small deliberate palette - classically 4 to 32 colours, each chosen to do a job. Diffusion output approximates that look with thousands of slightly-different shades. This is measurable, and you can measure it right here: the two images below are responses to the same prompt - "make me a cobblestone road", both at 16px art scale. Your browser is counting their unique colours as you read this.

SPRITEFORGE · 16x16 TILE
colours
RETRO DIFFUSION · EXPORTED PATCH
colours
HOW THESE WERE MADE · prompt "make me a cobblestone road" · both 16px · SpriteForge low quality · Retro Diffusion dedicated Tileset option · colour counts computed live in your browser from the actual files

That is not a cherry-picked failure - it is what "generate high-resolution, then shrink" necessarily produces. Every scaled edge becomes a gradient of in-between shades. The image on the left has a handful of colours because an artist's process placed each one; the image on the right has thousands because no process ever chose any of them.

3. Mush: edges that anti-alias themselves

Zoom into AI pixel art and the crisp stair-step edges you expect dissolve into soft halos - anti-aliasing the model inherited from photographs and digital paintings. At game scale this reads as blur; against any background it reads as a sticker with a dirty rim. Pixel art's whole visual language is decisiveness - this pixel, this colour, done - and mush is the visible absence of decisions.

One cause, not three

All three tells come from the same place: the model never works in pixels. A diffusion model generates a large soft image - typically 512px or more - in a continuous colour space, and then a downscale-and-quantise step tries to make it retro. Mixels are what grid alignment looks like after averaging. Colour bloat is what a palette looks like after averaging. Mush is what edges look like after averaging. The "pixel art" part was never in the generator; it was a filter applied afterwards, and filters can't add decisions that were never made.

This is also why prompting harder doesn't help. "16-bit style, crisp edges, limited palette" changes what the big soft image depicts - not the fact that it is a big soft image about to be averaged.

What actually fixes it - the honest list

Three real options, in increasing order of automation:

The test, for any tool (ours included): zoom to 800% and check the grid - every pixel should be the same size. Count the colours (Aseprite shows this instantly, or an online palette extractor). Put the sprite on a bright background and look at the rim. Thirty seconds, and marketing images can't hide from it.

If you want to try the constraint-first approach on your own prompt: your first sprite and first paintable tileset are free, in your palette, at the low resolutions this whole argument is about.

Forge a sprite - your first is free

No card, no subscription. 8-64 px, sharpest at 16 and 32.