EN

Pixel Art Animation Basics

Animation is change over time, and pixels make the change countable: how far each dot travels between frames is the entire craft.

Frames, timing, spacing

A frame is one drawing; timing is how long each lasts. Spacing — how far things move per frame — creates weight: even spacing glides, widening gaps accelerate, bunching decelerates into a stop. With 2–8 drawings you choreograph all of it; the count matters less than the spacing decisions. PixiMelon previews at 1–24 FPS so you can feel timing instead of calculating it.

Four frames of a bouncing pixel ball showing spacing and squash on impact
Figure: even gaps glide, bunching stops — and squash sells the impact.

Squash, stretch and charm

Volume-preserving deformation sells physics: a bouncing ball squashes on impact and stretches in flight, keeping roughly the same pixel count throughout. At sprite scale, 1–2 pixels of squash is plenty — exaggeration reads better than accuracy. Apply the same idea to blinks (squash the eye), jumps (stretch the body) and hits (squash everything for one frame).

Loops that don’t hiccup

Most pixel animation loops forever, so the last frame must flow into the first: end where you began, or pass through the start pose mid-cycle. Idle loops hide the seam with symmetric motion (bob down then up); walk cycles with matching contact poses. Preview the loop, don’t scrub frames — the seam only shows in motion. The animator loops continuously for exactly this reason.

Work with onion skin, not against it

Onion skin (previous red, next blue) turns spacing into something visible: even gaps between red, current and blue mean even speed. Step with arrow keys, watch one landmark pixel, and adjust the frame — not your intuition. Combine with shared background layers so only the moving parts demand attention.

Frequently asked questions

How many FPS for pixel animation?

Start at 8. Retro snap lives at 4–6, smooth loops near 12, effects up to 24. Judge in the preview.

What is spacing in animation?

How far things move between frames. Even spacing glides; changing spacing creates acceleration, weight and stops.

Why does my loop jump?

Last frame doesn’t flow into first. End on the start pose or pass through it mid-cycle, then preview in motion.

What is the easiest first animation to try?

A two-frame blink or bounce: duplicate the drawing, change a handful of pixels, preview at 6–8 FPS. Small wins teach timing fastest.

Have a sprite ready? Animate it online

Keep exploring