Create Pixel Art with AI
Describe what you want and the AI agent paints it layer by layer — or edit every pixel by hand with a full multi-layer pixel editor.
32×32 · 4 colors
What you can do with Moss Pixel
An AI agent that paints on the same canvas you do, with 49 tools behind it. It can read the picture back as a character grid, block out a whole composition from a low-resolution sketch, then run a structural check for stray pixels, broken silhouettes and off-center subjects before deciding what to fix.
A proper Aseprite-style stack: 8 blend modes, per-layer opacity and lock, collapsible groups, and 100 steps of undo. Layers and frames cross into cels, so a layer can differ from frame to frame while the rest of the stack stays put.
Hold each frame from 20 ms to 10 s and tag the stages such as run or idle, so a cycle stays readable once it grows past a dozen frames.
Export one frame as 8x PNG, the whole timeline as a 4x sprite sheet, the animation as a GIF, or hand the project over to Aseprite as a .ase file. Palettes travel as .gpl and projects as JSON.
Specs and limits
The real numbers this app runs on, taken from the implementation rather than rounded up for marketing. If a limit is listed here, it is one you will actually meet.
- Canvas
- 8 x 8 up to 64 x 64 pixels, which is 4096 pixels per frame at most.
- Palette
- 36 colors at most. The ceiling is structural: the agent reads and writes the canvas as a character grid where 0-9 and A-Z map to palette indices.
- Drawing tools
- 13 tools: select, magic wand, pencil, eraser, fill, spray, replace, eyedropper, line, rectangle, filled rectangle, ellipse and filled ellipse.
- Symmetry and tiling
- 4 symmetry modes (off, left to right, top to bottom, all four quadrants) plus a tile mode that wraps strokes around the edges for seamless textures.
- Blend modes
- 8: normal, multiply, screen, add, overlay, darken, lighten and difference.
- Animation
- Frame durations from 20 ms to 10 s, 120 ms by default. Frames can be duplicated, reordered, reversed and tagged, and the whole timeline exports as one sprite sheet.
- Undo
- 100 snapshots per project, so a long session with the agent in it cannot quietly eat your earlier work.
- Files in and out
- Out: 8x PNG, 4x sprite sheet PNG, animated GIF, Aseprite .ase, GPL palette, project JSON. In: project JSON, .ase, .gpl, and a folder of images turned into frames.
- Drawing with AI
- 49 tools, at most 20 steps per request, and 3 modes that strip the toolset down to the job so the model has fewer ways to pick wrong.
- Where your work lives
- In your browser. Projects go to IndexedDB, API keys to a separate local database, and requests travel straight from your browser to the provider you configured.
How a project actually goes
Start from a blank canvas, or from a photo
Open a project anywhere from 8 x 8 to 64 x 64, or drop an image in and let it pixelate onto your palette. The importer offers block averaging, center sampling, Bayer dithering and Floyd-Steinberg, and can either reuse your palette or pull a fresh one out of the picture with a set number of colors.
Block in the shape, then refine it
Ask the agent for a low-resolution sketch of the whole composition first, then refine it pixel by pixel yourself or tell the agent what is wrong. It can read the canvas back as a character grid and report structural problems instead of guessing at them.
Animate without leaving the project
Duplicate a frame, shift only the parts that should move, set how long each frame is held and tag the stages. Nothing is baked in until you export, so a still and an animation can live in the same file.
Send it where it needs to go
A GIF for a post, an 8x PNG for a store page, a sprite sheet for a game engine, .ase when you want to keep going in Aseprite, and JSON when you want the project itself back.
Traps worth knowing first
Every one of these comes from how the app really behaves rather than from a feature list. Knowing them saves a wasted afternoon.
The 36-color ceiling is structural, not a setting: the agent reads the canvas as a character grid where each pixel is one character. Importing a .gpl palette with more entries keeps the first 36, and duplicate colors are dropped on the way in.
Replacing the whole palette recolors existing pixels, because a pixel stores an index rather than a color: the indices stay and the colors move under them. Editing one swatch is the safe way to adjust a single color, while swapping the palette is for a deliberate re-skin.
Frames are timed, not rendered: an exported GIF is only as smooth as the durations you set. That is why the default is 120 ms, roughly eight frames a second, rather than something faster.
Projects live in storage scoped to this site in this browser. Clearing site data takes them with it, and a private window will not keep them at all, so export the JSON for anything you would be upset to lose.
Frequently Asked Questions
What is Moss Pixel?
Does it support animation?
How does the AI feature work? Do I need an API key?
What formats can I import and export?
Where is my work stored? Is it private?
Do I need an API key to use the AI?
Is my artwork uploaded anywhere?
Can I keep working on a file in Aseprite?
Other MossGap tools
Three apps, one rule: everything runs in your browser, with no account and no upload.
- Moss MusicRoll the dice for a fresh seeded tune — five parts, drums included — in classical, jazz, lo-fi, electronic or 8-bit style, or chat with the AI agent to compose, tweak and play. Export MIDI, MusicXML, WAV and JSON.
- Moss BeadsCreate Perler / Hama / melty bead patterns with brand-accurate color palettes, turn photos into patterns, track your assembly progress, and export material lists and print-ready pattern sheets.
Ready to create your own pixel art?
Open the editor and start painting — no download, no sign-up, completely free.