Moss Pixel

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.

100% FreeNo Sign-upRuns in Browser
Moss Pixel — sprite.png

32×32 · 4 colors

4 layers
2 frames
AI paints every pixel
PNG · GIF

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

  1. 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.

  2. 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.

  3. 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.

  4. 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?
Moss Pixel is an AI-powered pixel art editor that runs entirely in your browser. You can describe a sprite in natural language and the AI agent paints it layer by layer, or you can draw every pixel yourself with a full multi-layer editor.
Does it support animation?
Yes. Moss Pixel supports frame-by-frame sprite animation. Create multiple frames, preview them in sequence, and export your work as a GIF animation.
How does the AI feature work? Do I need an API key?
The AI agent paints your idea directly on the canvas, layer by layer, using tools — every step is undoable. You bring your own LLM API key (BYOK): open AI settings, add a provider, and you're ready to go.
What formats can I import and export?
You can export the current frame as PNG, a full sprite sheet, a GIF animation, or the entire project as JSON. You can also import an existing Moss Pixel JSON project or a PNG image.
Where is my work stored? Is it private?
Everything is stored locally in your browser's IndexedDB — nothing is uploaded to a server. Your sprites stay private and work fully offline.
Do I need an API key to use the AI?
Yes, but only for the AI, and it is your own key. Add a provider in the settings and the agent works; without one the editor is still fully usable by hand. The key is stored in this browser local database and requests go from your browser straight to the provider, so no key ever passes through this site.
Is my artwork uploaded anywhere?
No. Projects are written to IndexedDB inside your browser and never leave it. There is no account and no background sync, and the only network requests are the ones you trigger by talking to an AI provider you configured yourself.
Can I keep working on a file in Aseprite?
Yes. The .ase export writes a real Aseprite file with your layers, frames and palette, and .ase files import back in. GPL palettes go both ways as well, so a palette can be shared with any other pixel editor that speaks the format.

Three apps, one rule: everything runs in your browser, with no account and no upload.

Ready to create your own pixel art?

Open the editor and start painting — no download, no sign-up, completely free.