Pixel Art Walk Cycle
A walk is controlled falling, drawn four times. Get the two contact poses right and the cycle almost animates itself.
The four drawings
- Contact (front leg forward) — the pose that sells direction.
- Passing — legs together, body at its highest.
- Contact mirrored — other leg forward.
- Passing mirrored — body highest again.
Draw contacts first, in-betweens only where it stutters. In the animator, duplicate frames and move the minimum — hips bob 1 px, arms counter-swing, head stays level.

Pixel-level rules
- Feet move in whole pixels along the ground; sliding sub-pixel feet break the illusion.
- Keep one foot planted visually per contact — both feet off the ground reads as running.
- Arms oppose legs; at tiny sizes, a 1 px arm swing is enough.
- Shadows stay glued under the body (a shared layer keeps them jitter-free).
Timing the loop
Preview at 6–8 FPS: lower reads sneaky or tired, higher reads hurried. Heavier characters want fewer frames held longer; scurrying creatures want more frames faster. The loop must return exactly to frame one — check the seam in motion, stepping with arrow keys when it hiccups.
From walk to run and idle
Run = walk with both feet off ground plus lean and dust; idle = the same rig exhaling in place. Build all three from one contact-pose pair and your character moves like one creature. Export tests as GIF, final assets as a sprite sheet.
Frequently asked questions
How many frames does a walk cycle need?
Four reads fine, six to eight smooth. Contacts first, in-betweens only where it stutters.
Why does my walk look like sliding?
Feet aren’t planted per contact, or spacing is even where it should bunch at passing. Pin the planted foot.
What FPS for a walk?
6–8 for most characters. Preview the loop — timing beats frame count.
How do arms move in a walk?
Opposite to the legs with a small swing — one pixel at tiny sizes. Counter-motion sells balance more than detail does.
Have a sprite ready? Animate it online