Most “jittery” animations aren’t badly drawn. They’re drawn fine and displayed wrong. Work through these causes in order; the first three fix nine out of ten cases.
First, find out where it jitters
Open the sheet in the free Animation Previewer at 1× or an integer zoom, at the job’s fps.
- Smooth in the previewer, jittery in your game: it’s an engine setting. Jump to In your engine.
- Jittery in the previewer too: it’s in the frames. See In the frames.
In your engine
The pivot isn’t at the feet
If the sprite’s origin is the centre of the frame, any change in frame height between animations (say idle vs attack) moves the character up or down. Set the pivot or origin to bottom centre for every frame and every animation of a character. Our sheets put the feet on the same baseline in every frame, so a bottom-centre pivot keeps them planted.
- Godot:
AnimatedSprite2D→ Offset(0, -frame_height / 2)with Centered on. - Unity: Sprite Editor → slice with pivot Bottom Center.
- Phaser:
sprite.setOrigin(0.5, 1). - GameMaker: sprite origin Bottom Centre.
Non-integer scaling
At 2.5× zoom, some source pixels become 2 screen pixels wide and others 3. As the sprite moves, which pixels get the extra width changes every frame, so it shimmers. Scale your game by whole numbers only (2×, 3×, 4×): Godot’s Stretch Scale Mode integer, Unity’s Pixel Perfect Camera, Phaser’s zoom with an integer.
Texture filtering
Linear filtering blends neighbouring pixels and makes edges crawl. Use nearest/point filtering: Godot default texture filter Nearest, Unity Filter Mode: Point, Phaser pixelArt: true.
Sub-pixel positions
A character at x = 100.4 gets rounded differently each frame. Snap positions to whole pixels when rendering: Godot Snap 2D Transforms to Pixel, Unity Pixel Perfect Camera Grid Snapping, Phaser roundPixels: true. Keep the physics position precise and only round what you draw.
The wrong frame rate
An 8-frame walk at 30 fps looks like a frantic shuffle. Use the fps in the export’s JSON (usually 8–12 for walks). In Godot that’s the SpriteFrames speed; in Unity the clip’s Sample Rate; in Phaser the animation’s frameRate.
In the frames
Sliding feet
The body moves forward relative to the ground more or less than the walk cycle suggests. For walk-in-place sheets this is mostly a movement-speed problem in your game: match the character’s move speed to the stride. Roughly, speed (px/s) ≈ stride length (px) × fps ÷ frames per stride. Adjust speed until the planted foot appears to stay still.
One frame pops
A single frame with a shifted silhouette or a missing limb. Step through the frames in the player (arrow keys) or with onion skin on to find it. Small fixes, like a stray pixel or a hand in the wrong place, are quickest in the free Pixel Art Editor. If a frame is badly broken, you can usually drop it in your engine (most loops still read fine with 7 frames instead of 8), or send us the job ID and we’ll restore the credits so you can run it again.
The whole character wobbles sideways
The bounding box differs between frames, so the character’s centre drifts. Our pipeline aligns every frame to a shared box with the feet on one baseline, so this usually comes from sheets edited or packed elsewhere with trimming turned on. Re-pack without trimming, or set a pivot per frame in the free Sprite Pivot Editor.
Colour flicker
Colours that shift slightly from frame to frame (a cape in three nearly identical reds) look like flicker when played. Our pipeline locks every frame of a job to one shared palette, so this mostly happens after resizing or recompressing the sheet elsewhere. Regenerate with a lower Max colors, or map the sheet onto one palette with the Palette Swapper or Color Reducer. See Palettes and colour limits.
GIF previews look worse than the sheet
GIFs are limited to 256 colours per frame and some viewers blend frames. Our GIF export uses one global palette to avoid flicker, but judge the animation from the PNG sheet in your engine, not from a GIF.
Still jittering?
Send the job ID to hello@aispritemaker.com with a short screen recording of the problem. If the frames are at fault we’ll fix or refund the job.
Related: Exporting sprites to your engine · How to make a walk cycle sprite sheet