image

Pixel Animation Studio

Draw small pixel-art animations frame by frame, preview the motion, and export PNG, animated GIF, or sprite sheets.

Local processing
About your filesFiles and content selected in this tool are processed in your browser and are not uploaded to a Browser Kitty backend.
Operation demo See the basic workflow in a short video.

About this tool

Pixel Animation Studio is a browser editor for drawing small pixel-art animations frame by frame. Work on canvases from 16×16 through 128×128, duplicate or reorder frames, and build motion one pose at a time.

PNG import, onion skinning, frame timing, preview, and PNG / animated GIF / sprite-sheet export all run locally. When IndexedDB is available, the current project can be autosaved on the device.

Good for

  • Draw small game-character animations frame by frame
  • Export pixel art as an animated GIF for the web or social sharing
  • Create short looping walk, idle, blink, or effect animations
  • Export multiple frames as one sprite-sheet PNG for a game workflow
  • Import same-size PNG images and use them as animation frames
  • Edit small pixel animations with touch on a phone or tablet

What it can do

Key capabilities available in this tool.

How to use

  1. Choose a 16×16, 32×32, 64×64, 128×128, or custom canvas, or start a new project from PNG files.
  2. Draw the first frame with Pencil, Eraser, Fill, and Eyedropper, using Grid, Zoom, Fit, or Pan when helpful.
  3. Add or duplicate frames and adjust the pose a little at a time. Enable Onion Skin to see the previous frame faintly.
  4. Set each frame delay from 20 to 5000 ms, or use Apply to all when every frame should share one delay.
  5. Use rectangle Selection when you need to move, copy, cut, paste, or nudge a pixel region.
  6. Preview the motion with Play / Pause / Restart / Loop and adjust frame timing as needed.
  7. Open Export and choose Current Frame PNG, Animated GIF, or Horizontal / Grid Sprite Sheet PNG.
  8. Confirm the filename and export settings, then save. When IndexedDB autosave is available, the project can be resumed the next time the app opens.

Supported

  • Canvas: 16×16, 32×32, 64×64, 128×128, or custom dimensions up to 128×128.
  • Frames: 1–128 frames with 20–5000 ms delay in 10 ms steps.
  • Drawing: Pencil, Eraser, Fill, Eyedropper, and rectangle Selection; Pencil / Eraser use 1 / 2 / 4 px brushes.
  • Import: PNG only. Start from one PNG or add multiple same-size PNGs as frames. Mismatched PNGs are not silently resized or cropped.
  • PNG export: save the current frame at 1× / 2× / 4× / 8× while preserving transparency with nearest-neighbor scaling.
  • GIF export: use all frames in order with individual delays, transparent background, infinite loop, and color reduction only when required by the 256-color GIF limit.
  • Sprite Sheet: place all frames in a horizontal row or a grid with a chosen column count and save as PNG.
  • Autosave: store project state in IndexedDB when available so work can be resumed after reloading.
  • Runtime networking: no external API, remote font, runtime CDN, analytics, or telemetry; CSP includes connect-src 'none'.

Limitations and notes

  • Canvas dimensions are limited to 128×128 and each project to 128 frames in v1.0.0.
  • Import is PNG only; GIF, WebP, JPEG, Aseprite, and sprite-sheet import are not supported.
  • GIF output is limited to 256 colors and cannot preserve partial alpha; partially transparent pixels become transparent or opaque for GIF output.
  • Layers, lasso selection, palette files, animation tags, project-file import/export, Animated WebP, and sprite metadata JSON are not included in v1.0.0.
  • Autosave depends on IndexedDB, so clearing browser site data can remove the locally saved project.
  • Undo / Redo history is not restored after a page reload.
  • Large 128×128 projects with many frames can use more device memory, especially during GIF encoding.

Frequently asked questions

Can I save a pixel-art animation as GIF?

Yes. Animated GIF export uses every frame and its individual delay. GIF is limited to 256 colors and cannot preserve partial transparency.

Can it create a sprite sheet?

Yes. Export all frames as a PNG using either one horizontal row or a grid with a chosen number of columns.

Can I import existing PNG files as frames?

Yes. Start a project from one PNG or add multiple same-size PNGs as frames. Other input formats are not supported in v1.0.0.

Is the project autosaved?

When IndexedDB is available, project state is autosaved locally and can be resumed after a reload. Undo / Redo history itself is not restored.

Is my pixel artwork uploaded to a server?

No. The hosted version downloads the app HTML initially, but PNG import, drawing, preview, autosave, and PNG / GIF / sprite-sheet generation run locally on the device.

Offline version and source code

The standalone HTML uses no external API, runtime CDN, or remote font and runs with connect-src 'none'. Open dist/index.html via file:// to draw, import PNGs, and generate GIFs or sprite sheets without network access.

View source on GitHub