Pixel art · Tested

Can Claude Opus 5.5 Make Pixel Art? One Fox, Pixel by Pixel

A brushed graphite pegboard with charcoal and ivory pegs forming a stepped heart, and one amber peg standing apart on ivory paper
Original abstract editorial artwork generated in Ciyo with GPT Image 2.5 Sunburst.

Claude Opus 5.5 is a language model. It does not output pictures the way an image model does. So when people search for “Opus 5.5 pixel art”, the useful question is not whether it can paint, but whether it can build a sprite you can actually use: the right grid, a short palette, clean edges and a transparent background.

On September 30, 2026 we gave the same small job to Claude Opus 5.5 directly, to the Ciyo Agent, and to an image model: a 32 × 32 fox mascot for a fictional board-game café. We measured every file. The code route gave exact pixels every time. The image model gave the better drawing and the worse sprite.

The short answer: yes, if it draws with code

A language model makes pixel art the way a person does in a spreadsheet: it decides the colour of each cell. In practice that means a short script, for example in Python with the Pillow library, that sets each pixel on a fixed grid and saves a PNG. The grid and the palette are then exact by construction, because nothing is resized or blurred.

The limit is drawing skill. The model has to imagine the shape row by row, so poses stay simple and small details need a second look. That is why the test below matters more than a yes or no.

Two ways to get pixel art from AI
ComparedCode route (a language model places pixels)Image route (an image model paints)
Grid and sizeExact: 32 × 32 means 32 × 32A large picture that only looks pixelated
PaletteThe colours you allow, nothing elseTens of thousands of colours until you reduce them
TransparencyClear or solid pixels onlyUsually a solid background to remove
Drawing qualitySimple shapes, needs reviewRicher pose and character
Credits in our testNone for the drawing2 credits for the picture

The brief: a mascot for a board-game café

Pip & Pine is a fictional board-game café that wants a small mascot for its Discord emoji and a game-night poster. A good pixel-art brief states the grid size, the colour limit, the outline, the background and the pose, and it says how the file should be made.

We sent the same brief to Claude Opus 5.5 in Claude Code, with only Python and Pillow allowed, and to the Ciyo Agent on a new Ciyo board.

The brief we used for both (in Claude Code, the files went to a folder instead of a board)
I run Pip & Pine, a board-game café. I need a 32x32 pixel-art mascot for our Discord emoji and a game-night poster: a small orange fox holding a mug of cocoa, facing right, dark outline, no more than 12 colours, transparent background. Please draw it yourself, pixel by pixel, without an image model: place every pixel on a 32x32 grid in code, then save the 1x PNG and a 10x preview to the board. Tell me the palette you used.

What Claude Opus 5.5 drew on its own

Claude Opus 5.5 wrote a Pillow script that sets every pixel from a hand-made grid. It rendered the result, looked at it and revised it twice. Its own log says the dark arm “read as a stick”, so it made the upper arm orange, and it removed a stray cream pixel from the tail. The whole job took about 3.6 minutes.

We checked the file: 32 × 32 pixels, 11 colours, 536 solid pixels, and every other pixel fully clear. There were no half-transparent edge pixels, which is what makes a sprite look crisp in a game engine or in Discord. Its only warning was honest: the very light grey steam is hard to see on a light background.

The same brief in Ciyo

The Ciyo Agent took the same route. It said it would “draw it by hand in Python: every pixel is set explicitly on a 32×32 grid in layers”, looked at its first render, and moved the heart on the mug because the paw covered it. It saved a 32 × 32 file and a 320 × 320 preview to the board and listed its 11 colours as hex values. No credits were spent.

Our check matched its report: 11 colours, 577 solid pixels, no half-transparent pixels, and the 10× preview exactly ten times the 1× file. One detail to know: the board shows the tiny 1× file enlarged with smoothing, so it looks blurred there. The 10× preview is the one to judge by eye.

The Ciyo canvas with a 32 by 32 pixel fox holding a teal mug, shown sharp at 10 times and blurred at 1 times, and the agent panel listing 11 hex colours
The Ciyo Agent's hand-placed fox: the sharp 10× preview, the 1× file shown enlarged by the board, and the palette in the chat. September 30, 2026.

Then we asked an image model for the same fox

Next we asked the Ciyo Agent to make the same fox with GPT Image 2.5 at the cheapest setting (2 credits), shrink it to 32 × 32, snap it to the same 11 colours and score both versions with one script.

The raw picture was 1,024 × 1,024 with a solid white background and 45,153 different colours. Its “pixels” were soft blocks about 20 to 23 screen pixels wide, a grid of roughly 45 × 45, so shrinking it to 32 × 32 cut through its own pixel edges. After snapping, the agent counted the cost of that: the shading almost vanished (dark orange went from 54 pixels to 1), the mug shrank from 34 to 19 pixels and lost its handle, and the outline had 14 breaks. The image model's fox did have the better pose, a fuller tail and clearer ears.

The Ciyo board with the hand-placed fox and the snapped image-model fox side by side at 10 times, the original AI picture on the right, and the agent's list of what the image model did better and worse
Both foxes at 10× and 1×, the original AI picture on the right, and the agent's scoring in the chat.
The comparison request
Nice. Now I want to compare: make the same fox with an image model (GPT Image 2.5, cheapest setting, square), then turn that picture into real 32x32 pixel art with the same 11-colour palette and put it next to yours. Tell me what the image model did better and worse, with counts where you can (colours before snapping, stray pixels, outline gaps).

Three foxes, measured

Side by side, the difference is easy to see. Both code foxes are clean sprites with a closed outline. The snapped image-model fox has the nicest silhouette and the messiest pixels.

The three 32 × 32 files, checked on September 30, 2026
CheckCiyo Agent, codeClaude Opus 5.5, codeImage model, snapped
Colours111111 (45,153 before snapping)
Solid pixels577536525
Half-transparent pixels000 after snapping
OutlineClosed except the steamClosed14 breaks
Credits0Not run in Ciyo2
Three 32 by 32 pixel foxes enlarged 14 times: the Ciyo Agent's hand-placed fox, Claude Opus 5.5's fox with a blue mug, and the image-model fox snapped to the palette
Left to right: the Ciyo Agent's hand-placed fox, Claude Opus 5.5's own fox, and the GPT Image 2.5 fox snapped to 32 × 32. All shown at 14×, no smoothing.

Which route to use

Use the code route when the file has to be exact: emoji, favicons, game sprites, anything that is shown at its real size. Ask for the palette, a transparent background and a 10× preview, and check the preview before you accept it.

Use an image model when you need ideas: a pose, a character sheet or a mood. Then snap the result to a real grid and repair the outline, or give the best pose back to the code route as a reference. Our agent offered exactly that: to redraw its code fox with the image model's bigger tail and cream foot, at no credit cost.

Next steps for your mascot

Once the 32 × 32 file is right, check it at the size people will see, keep one palette for every other icon, and animate it only after the still frame is clean.

Claude Opus 5.5 and pixel art

Can Claude Opus 5.5 make pixel art?

Yes, by writing code that places each pixel. In our test on September 30, 2026 it produced a 32 × 32 fox with 11 colours and a fully transparent background in about 3.6 minutes. It cannot paint a picture the way an image model does.

Is the code route better than an image model?

For exact files, yes: the grid and palette come out exactly as asked. For drawing quality, the image model was better in our test, but its 32 × 32 version lost most of its shading and had 14 breaks in the outline.

Why does my 32 × 32 sprite look blurry?

Something is enlarging it with smoothing. The Ciyo board did this to our 1× file. Look at a 10× nearest-neighbour preview instead, and set nearest filtering in your game engine.

What did the test cost in Ciyo?

The hand-placed fox cost no credits. The image-model fox cost 2 credits, and snapping and scoring it in the agent's workspace added nothing.

Make your own pixel mascot

Give the Ciyo Agent your grid, palette and pose, and ask it to place every pixel. Compare it with an image-model version on the same board.