Pixel Art Idle Animation
Nobody stands perfectly still — and in games, stillness reads as broken. An idle loop is the cheapest life you can give a sprite.
What actually moves
Pick two of three: breath (torso rises 1 px, shoulders follow), bob (whole sprite dips and returns), blink (eyes squash for exactly one frame). Two motions at different periods — say a 4-frame breath with a blink every few loops — feel organic; everything synchronized feels robotic.
Two to four frames, honestly
Frame 1: rest. Frame 2: inhale/bob peak. Frame 3 (=1 mirrored or held): return. Frame 4 (optional): settle. That’s a complete idle. Duplicate the rest pose and change as little as possible — a 1 px chest rise plus a 1 px scarf lag outsells a redrawn torso. Time it slow: 4–6 FPS lets the pause between motions breathe.

Blinks and secondary motion
Blinks land every 2–4 seconds of loop time, last one frame, and squash rather than redraw the eye. Hair tips, capes and weapons lag one frame behind the torso — secondary motion is what separates “bobbing” from “breathing.” Keep all of it on per-frame layers over a shared background so the still parts never jitter.
From idle to action
Build idle, walk and hits from the same rest pose and transitions vanish: the character is always itself, just moving differently. Test the full set as looping GIFs before committing frames to a sprite sheet.
Frequently asked questions
How many frames for an idle?
Two to four. Breath plus bob or blink, timed slow at 4–6 FPS.
How often should a sprite blink?
Every couple of loop seconds, for exactly one frame. More reads as nervous.
Why does my idle look robotic?
Everything synchronized. Offset the motions — breath and blink on different periods.
Can idle and walk share the same frames?
Yes — build both from one rest pose and transitions vanish: the character stays itself, just moving differently.
Have a sprite ready? Animate it online