AI pixel art that doesn't look AI-made
- The AI look has two kinds of tell. Diffusion pixel art over-renders: too much detail, too much dithering. Shrunk-down images add colours nobody chose, stray pixels and edges with no outline.
- Both come from one place: the model predicts pixels instead of deciding them. Hand-made pixel art looks hand-made because every pixel is a decision.
- SpriteForge works like the artist, not the filter: every pixel placed on the grid, from your palette. Every number below is counted live from the pixels.
Players can spot AI art at a glance now, and pixel art is where it's easiest to spot: every single pixel is on show. This post takes the AI look apart – first the gut check, then the same prompts from two generators, with the numbers your browser counts live.
The gut check
Here is a king slime from a diffusion pixel-art generator next to a SpriteForge slime, pixel for pixel. Both sit on the grid. Both have an outline. Neither is blurry. You can still tell which one is AI in about a second.
Too much detail. Every surface on the king is rendered: spikes, facets, freckles in the jelly, and shapes that belong to nothing – a grey bar and a brown disc floating in the body. A pixel artist does the opposite. Flat areas are what let a silhouette and a face read at game size, so detail goes where the eye should go and nowhere else.
Too much dithering. Turn on the highlight: 12% of the king's pixels sit in a two-colour checkerboard, against 2% of the slime's. Dither is a real pixel-art technique, used sparingly to suggest a texture or a soft transition. Diffusion output uses it everywhere, because a checkerboard is how a model trained on pixel art renders the smooth shading it predicted.
Predicted, not placed. A diffusion model doesn't draw. It starts from noise and predicts all the pixels at once, nudging them towards what pixel art usually looks like. What comes out has the texture of pixel art without the decisions: 29 shades where a handful would do, highlights that disagree about where the light is, and a surface that reads as texture rather than shape. The slime on the right is 7 colours, one light source and flat clusters, and it reads at 1× because every pixel was put there on purpose.
Now make it countable
The gut check works on an obvious case. At 16 px the tells get subtler, so here are the same three prompts from SpriteForge and Retro Diffusion, side by side, with three things you can count.
Flip the zoom and the background before reading on. The left set holds up on any floor and at any size; the right set leans on whatever is behind it.
1. Colours someone chose
Hand-made pixel art works from a small palette, and every colour in it has a job: outline, base, highlight, shadow. The three SpriteForge sprites use … colours between them, five to eight each. The three diffusion sprites use … for the same prompts.
Nobody picked those extra shades. They're what's left when a big, soft gradient gets squeezed into a handful of pixels: reds that are almost the same red, browns a few values apart. Your eye doesn't count them, but it notices the result – a sprite that looks sampled rather than drawn. They also make a consistent set impossible, because the next sprite brings its own new batch of shades.
2. Clusters, not speckle
Now look at how the pixels group. A pixel artist builds a sprite out of clusters: a run of outline, a plank of wood, a two-pixel shine. A pixel that touches nothing of its own colour, not even diagonally, is a stray, and artists clean strays up because they read as noise.
… of the SpriteForge pixels above are strays. In the diffusion sprites it's …. That speckle is what averaging produces: each output pixel is a blend of a different patch of the big image, so neighbours rarely land on exactly the same colour and almost nothing joins up into a clean shape.
3. An outline that holds
The third habit is decisiveness at the edge. Switch the background above to light or grass. Every SpriteForge sprite has a dark rim all the way round – … of its edge pixels – plus a lit side and a shadowed side, so it reads against anything you put it on. On the diffusion side … of the edge pixels are dark. The rest are mid-tones that borrow their contrast from whatever is behind them, so the sprite melts into a bright floor.
At bigger sizes the same indecision shows up as soft, anti-aliased halos around every shape: the glow a photo has and a pixel artist never leaves.
Same story in a tile
Texture is where the gap is widest. Same prompt, “cobblestone road”, one 16 px tile from each tool, repeated three by three at 4×.
SpriteForge drew stones: outlined, lit from one side, with mortar between them, in … colours. The diffusion tile is … colours of grey static, and … of its pixels are strays. There are no stones to see because at 16 px there was never room for a picture of stones – only for the average of one. It's also why that tile can't tile: why AI tilesets don't tile, or paint with ours.
Why one looks hand-made and the other can't
None of these tells is a style choice, and none of them can be prompted away. They're what happens when a generator never works in pixels. A general diffusion model paints a large, soft image, and a filter then shrinks it and snaps it to a palette; a pixel-trained one predicts the small image directly. Either way, nothing gets decided. Shrinking is averaging, prediction is a best guess at the texture, and neither can make the calls pixel art is made of: this pixel is the outline, this one is the shine, these four are one plank, and this area stays flat.
Pixel art looks hand-made because every pixel is a decision. An average can't decide, and neither can a prediction.
SpriteForge works the way the artist does instead of the way the filter does. Its AI places each pixel on the final grid, choosing from your project's palette, and can go back over its own work in refine passes. There's no big image, nothing gets shrunk, and no pixel is a guess at a texture. The cause traced tell by tell, mixels included, is in why AI pixel art looks bad.
Credit where it's due
- Retro Diffusion's 16 px mode is grid-true. That's why its sprites above have no mixels, the pixels-of-mixed-sizes tell. Ask a general image model for pixel art and you get those as well.
- Above 64 px, diffusion is genuinely good. SpriteForge is built for 8 to 64 px and is sharpest at 16 and 32, the sizes this whole argument is about.
- A pixel artist is still the gold standard for hero art, portraits and key art. Where this helps is the long tail around them – the forty items and dozen enemy variants a game needs – so none of it looks like it came from a different game.
- Looking hand-made isn't the same as hiding how it was made. If your storefront asks you to disclose AI-generated content, disclose it. The goal is art that belongs in your game, not art that fools anyone.
Check any tool yourself (ours included):
- Count the colours. Aseprite shows them in the palette panel; so does any palette extractor.
- Look for checkerboard dither covering whole areas, and detail everywhere instead of where the eye should go.
- Zoom to 800% and look for strays: pixels that touch nothing of their own colour.
- Drop the sprite on a bright background and look for the outline.
- Look at it at actual size, next to the rest of your game's art.
Thirty seconds per tool, and no marketing image can hide from it. If you'd like to run the test on your own prompt, new accounts get $0.25 of free credit – enough for a couple of small sprites, in your palette.
No card, no subscription. 8-64 px, sharpest at 16 and 32.