How to Make a Pixel Art Walk Cycle
Build a 4- or 6-frame pixel art walk cycle: contact, passing and up poses, leg rules that avoid the moonwalk, and timing that makes small characters feel alive.
Quick answer
A walk cycle is contact pose → passing pose → contact (other leg) → passing. At 16×16, four frames at ~150ms each read convincingly; six frames add bounce. Keep the head height constant and move legs, not the body.
The four poses
| Frame | Pose | Legs |
|---|---|---|
| 1 · Contact | Front leg reaches | Front leg forward + back leg behind, both touching ground |
| 2 · Passing | Body highest | Legs together under the body |
| 3 · Contact | Other leg reaches | Mirror of frame 1 |
| 4 · Passing | Body highest again | Mirror of frame 2 |
At 16×16 the passing poses often reuse one drawing with the arms swapped. Six-frame cycles add a 'down' pose (body lowest, at contact) for weight — worth it for chunky characters.
Drawing the cycle
- 1
Draw the contact pose
Stride as wide as the character's proportions allow, front heel down, back toe down. This frame sets the animation's length and energy.
- 2
Draw the passing pose
Legs together, body 1px higher than contact. The 1px vertical bob between contact and passing IS the walk's life — do not skip it.
Duplicate the contact frame and edit the legs only: the torso, head and colors stay identical.
- 3
Mirror for the second half
Frames 3–4 are frames 1–2 with the legs mirrored. If the character is asymmetric (weapon arm), redraw that arm rather than mirroring it.
- 4
Time and loop
150ms per frame (about 6–7 fps) suits most 16×16 characters. Loop it and check: feet should never slide backward while planted ('moonwalk' = contact pose stride mismatch).
Put it to work
Small-size shortcuts
- 2 frames (contact + passing, mirrored legs) still reads as walking at tiny sizes.
- Move only legs and head-bob; keep arms static unless the cycle is 6+ frames.
- For side-view walks, a 1px forward lean on contact frames sells momentum.
Common mistakes
- Moonwalking: the planted foot slides because contact frames have different stride lengths.
- Bobbing the whole body down instead of the legs reaching out — keep contact pose height stable.
- Too many frames at too-high fps: 8 frames at 12fps blurs into mush at 16×16.
Related
How Pixel Art Animation Works
The mechanics of pixel art animation: frame counts, timing, key poses and in-betweens, and why fewer well-placed frames beat many rough ones.
OpenTutorialAnimate a looping sequence
Order frames, give each one its own duration, check the motion with onion skin, and export a GIF or a sheet.
OpenReferenceAnimation Frame Guide
Frame counts and timing for pixel art animations: how many frames each animation type needs and what milliseconds-per-frame to start from.
Open