SpriteCanvasTHE PIXEL STUDIO
Opening workspace
Pencil
1000%
Untitled sprite
PIXEL-PERFECT / NO ANTIALIASING
SPACE drag to pan·scroll to zoom·ALT pick color
No selection

Timeline 01

A FRESH CANVAS

Small pixels. Big possibilities.

Your current project is autosaved, but starting a new one replaces the active workspace. Download it first if you want to keep a separate file.

PROJECT

Rename project

CANVAS SIZE

Make some room.

This changes every frame and layer without scaling the pixels. Shrinking crops pixels; Undo restores them.

IMPORT IMAGE

Bring your pixels along.

Resampling uses nearest neighbor. Animated images import their first frame only.

OUT INTO THE WORLD

Export your creation.

PNG and project files keep alpha. GIF shares an adaptive palette of up to 255 opaque colors across all frames, separate from the editing swatches, with no dithering. Alpha below 50% is transparent; remaining partial alpha is matted against white. Timing uses 10 ms steps. Only visible layers are rendered.

HUMAN + AGENT / ALWAYS YOUR CALL

Two versions. One vision.

PROPOSAL

Your saved canvas
Agent proposal
A SHARED CANVAS, NOT A BLACK BOX

Ready for your agent.

Tell your agent what to add or change. It should submit a proposal, never replace your canvas directly. Use Compare versions to review, then accept or dismiss.

A LITTLE FIELD GUIDE

Everything starts with a pixel.

Make your mark

Pencil / Eraser
B / E
Fill / Eyedropper
F / I
Line / Rectangle / Ellipse
L / U / O
Select / Move / Hand
M / V / H
Brush size
[ / ]
Swap foreground / secondary
X
Pick from artwork
Alt + click
Secondary color
Right-click

Stay in flow

Undo / Redo
Ctrl+Z / Ctrl+Shift+Z
Copy / Cut / Paste
Ctrl+C / X / V
Select all / Deselect
Ctrl+A / Ctrl+D
Delete selection or cel
Delete
Nudge selection / cel
Arrow keys
Pan / Fit / Grid
Space+drag / 0 / G
Play animation
Enter
Download project
Ctrl+S

Selections constrain drawing, fills, and transformations on the active cel. Double-click a layer name to rename it. Layers are shared across frames; their pixels are independent. Layer lock prevents pixel edits and deletion.

Local collaboration: run npm start. The agent reads and proposes through the loopback bridge; you approve changes. GitHub Pages stays fully static, with browser autosave and JSON handoff/import instead. No account, cloud storage, telemetry, or embedded AI model.

Inspired by familiar Aseprite workflows, not an Aseprite clone or .aseprite file reader. Ctrl shortcuts also support Command on macOS.