01 - Try it
Drop any PNG sprite and get a seamless wind loop. Your pixels, your palette, frame 1 untouched. Nothing leaves your browser.
Drop a PNG sprite here or
Your own sprites export clean — no watermark, no sign-up. Only the demo tree (© yalpo) is marked.
Drag on the sprite to move the red pin line. Everything below it stays still.
02 - Why it doesn't shimmer
Most wind shaders rotate or skew the sprite and round every pixel on its own, so the inside of the canopy flickers. Pixel Wind moves whole leaf clumps by whole pixels instead. Every output pixel takes exactly one pixel from your sprite:
dst(x, y) = src(x − dx, y − dy)
Neighbouring clumps can move by different amounts without tearing seams, and no colour is ever invented.
03 - Checked on every export
- Frame 1 is byte-identical to your sprite
- No colours or transparency levels that aren't in your sprite
- Everything below the pin line never moves
- At most 1–3 px sideways and 1 px vertical
- The last → first step is as smooth as every other step
04 - Take it into your engine
GIF for sharing. Sprite sheet PNG with Aseprite-style JSON and a wind tag for Godot, Unity or Aseprite. ZIP of single frames.