perfect-loop generator
Pattern
Pattern controls
Framing & symmetry
Palette

Grade & glow
Motion
Press the wave button next to any slider to animate it over the loop. Every shape has a whole number of cycles per loop and lands back on its starting value, so a moving control cannot break the seam — Verify loop still proves it. Pulse and Ramp jump partway round; the loop is still exact, but you will see the step.
Saved looks

frame 0/0 fps --
Output
Size preset
Width
Height
Duration (s)
FPS
Supersample
Background
GIF settings
Colors
Dither
One global palette is built from frames sampled across the whole loop, so colors never shift or flicker between frames.
WebM settings
Codec
Quality
Export
OBS notes
Media Source is the one to use for both GIF and WebM. Tick Loop, untick Restart playback when source becomes active so it never hitches on scene changes, and leave Close file when inactive off.

WebM beats GIF for a full-screen background: full color, no banding, and roughly 10–40x smaller. Keep the GIF for browser sources, chat overlays and anywhere that only eats images.

Alpha works properly in the PNG frame sequence. GIF alpha is 1‑bit (hard edges). WebM alpha is not written here, so use PNG frames for a cut-out overlay.

Sizing: these patterns are all smooth, so a 1280x720 file scaled up to 1080p in OBS looks near identical and encodes several times faster.