• New

Loop This! Wiggle

Loop This! Wiggle generates loopable wiggle motion via expressions or baked keyframes based on seeded randomness. The result: perfectly seamless, 100 % reproducible loops from something inherently unpredictable.

Learn about license types
  • Trial
  • EULA
Description

Seamless wiggle loops with absolutely reproducible randomness


The only tool that creates perfectly looping, deterministic wiggle animations for After Effects. Via expressions or baked keyframes.


✅ True loopable wiggle with seeded randomness
✅ 100% reproducible. Same settings, same result
✅ Expression OR baked keyframes, identical output
✅ Full per-axis control with clamping

❌ After Effects' native wiggle() never loops perfectly
❌ Typical expression hacks require complex scripting
❌ Sine-based workarounds lack true randomness
❌ No axis control, no determinism, no real solution


Loop This! Wiggle

AE Wiggle

WHY LOOP THIS! WIGGLE?

Achieve perfect loops, where others fall short: The native wiggle() function in After Effects can never produce a truly seamless loop. With Loop This! Wiggle, you get perfectly repeatable, deterministic animations every time.
A smarter solution over typical expression hacks: Unlike methods relying on multiple sine-based wiggles or complex scripting, Loop This! Wiggle offers an intuitive, easy-to-use solution for flawless loops.
Existing scripts either don’t loop, rely on manual sinusoids, or lack axis control and determinism. Loop This! Wiggle is the only dedicated tool offering true loopable wiggle with full control.
Loop This! Wiggle Panel

KEY FEATURES

Dockable ExtendScript Panel

Stays right inside your AE workspace, no floating scripts to manage.

Universal Property Support

Works with any numeric keyframeable property. If it has a stopwatch icon and accepts numbers (not colors, text, or paths), it's compatible. Transform properties (Position, Scale, Rotation), effect controls, masks, shapes, text animators, Puppet Tool pins, even 3rd-party plugin parameters. Each axis (X, Y, Z) can be independently enabled or disabled in the calculation.

Clamp Controls

Define maximum and minimum values for each axis individually. Clamping ensures that wiggle values never exceed a certain range—critical when animating properties like position, rotation, or scale, where uncontrolled randomness would cause jumps or distortions.

Precise Time Range Control

Specify Start and End frames with professional timecode support (HH:MM:SS:FF) or decimal seconds. The generated animation loops perfectly across this range.

Dual Noise Algorithms

Choose between Multi-Frequency (Perlin) for organic motion or AE-Style (Random Walk) for clean, traditional wiggle behavior.

Expression or Bake

Expression mode: evaluates wiggle in real time. Bake mode: converts the generated values to keyframes. Both modes produce 100% identical outputs.

Tabula Rasa or Additive Wiggle

Choose whether the wiggle is generated on top of existing keyframes or on a cleaned property track.

Load from Expression

Read back settings from previously generated expressions to continue editing or apply to new properties.

Expression Portability

Copy expressions between different property types. A Position wiggle can be pasted onto Scale, Rotation, or any other numeric property. The expression adapts automatically to property dimensions.

WHY SO MUCH NOISE?

Loop This! Wiggle utilizes two different types of noise to create random motion:

Multi-Frequency (Perlin Noise)

Perlin noise is a procedural texture generation technique invented by Ken Perlin in 1982. Instead of pure randomness, it creates smooth, natural-looking gradients by blending multiple frequencies of noise together.

AE-Style (Random Walk)

A simplified algorithm that mimics After Effects' native wiggle() expression. It generates keyframe-like control points using a Linear Congruential Generator (LCG) and interpolates between them using Catmull-Rom splines.

Perlin Noise
Random Walk Noise

USE CASES

  • Seamless camera shake for looping titles or trailers. No awkward jumps at loop point
  • Logo or UI animations that need subtle, repeatable motion without manual keyframing
  • Looping animations for the we: e.g., animated icons or banners that cycle seamlessly
  • Lottie animations: perfect for loading indicators or micro-interactions that rely on endless looping
  • Corporate design video elements: looping logo animations or visual branding loops
  • Generative designs or template based pipelines: ditively without overwriting base animation
  • Natural phenomena simulations: floating leaves, drifting smoke, underwater movement
  • Mechanical or technical animations: HUD graphics, UI elements, data visualizations
  • Puppet Tool character animation: subtle face movement, breathing, idle motion
  • Plugin parameter automation: any 3rd-party plugin
  • Modular animation segments: connect time sections seamlessly for non-destructive editing
  • Multi-layer synchronization: coordinate wiggle across dozens of properties with identical seeds
  • Effect intensity pulsing: blur, distortion, color corrections
  • Text animator jitter: tracking variations, offsets, kinetic typography

HOW IT WORKS

  • Select your property (or multiple properties)
  • Any numeric keyframeable property is compatible (Position, Scale, Rotation, Opacity, Shape properties, Text animators, Puppet Tool pins, plugin parameters)
  • Open the Loop This! Wiggle dockable panel
  • Set Start/End times using seconds or SMPTE timecode
  • Use Comp In/Out, Work Area buttons, or manual input
  • Timecode is validated against comp frame rate; ambiguous formats trigger clarification
  • Enter frequency and amplitude per axis (X, Y, Z)
  • Apply clamps to restrict motion ranges
  • Choose noise type: Perlin or Random Walk
  • Adjust Octaves for Perlin (1–8)
  • Input Seed for deterministic results
  • Choose Expression or Bake mode
  • Additive or Clean baking modes in Bake
  • Generate loopable animation
  • Supports multiple properties across layers in one pass

FAQs

Q: How is this different from the native wiggle() expression?

A: Native wiggle cannot loop. Existing hacks blend sine curves. Loop This! Wiggle generates real pseudo-random values that repeat perfectly. As editable expression or baked keyframes.

Q: Why "reproducible randomness"?

A: The tool uses seeded pseudo-randomness-identical settings and seed produce identical motion, even though it appears random.

Q: What's the difference between Perlin and Random Walk?

A: Perlin creates organic, multi-layered motion. Random Walk creates clean, single-frequency wiggle matching AE's native behavior.

Q: When should I use Octaves?

A: Only in Perlin mode. Higher values add detail; lower values give simpler, broad motion.

Q: Can axes be controlled separately?

A: Yes. X, Y, Z can be enabled or disabled independently.

Q: Can I limit the range of motion?

A: Yes, with per-axis Clamp Controls.

Q: Expression vs. Bake—what's the difference?

A: Expressions calculate live; Bake creates keyframes. Both produce identical results.

Q: Can this tool work with existing keyframes?

A: Yes. Use Additive Mode to build on existing animation, or Clean Mode to start fresh.

Q: Does it support 3D properties?

A: Yes, full support for 1D, 2D, and 3D with independent controls.

Q: What properties can I animate with this tool?

A: Any numeric property with a stopwatch icon, including transforms, effects, masks, shapes, text animators, Puppet Tool pins, and 3rd-party plugin parameters.

Q: Can I copy expressions between different property types?

A: Yes! Expressions are dimension-agnostic. They adapt automatically.

Q: Can I create seamless animations across multiple time segments?

A: Yes, using Bake Mode with identical seeds and settings.

Q: Can I enter time in professional timecode instead of seconds?

A: Yes, either in seconds or SMPTE timecode.

Q: What happens if my timecode is ambiguous?

A: The tool prompts for clarification; full HH:MM:SS:FF is recommended.

Q: Does the script validate timecode against my comp's frame rate?

A: Yes, invalid frames are rejected.

Q: Can I read back settings from an existing expression?

A: Yes, via "Load from Expression".

Q: What are the Loop Behavior Modes and which should I use?

A: Loop This! Wiggle offers three modes:

Self-Loop (Default): The wiggle returns to its own starting value. Perfect for creating self-contained loops anywhere in your timeline, extracting segments, or nesting in precomps. This is the core feature of the script.

Chain Mode: The wiggle fades smoothly from/to the property's base curve. Best for sequential animation segments that flow into each other.

Comp Loop: The wiggle returns to the value at composition start. Designed for full-comp loops that will be time-remapped or repeated.

WOULD YOU LIKE TO KNOW MORE?

Head over to the manual, it's a whole Wiki: https://github.com/gregorurabl/loopthiswiggle_wiki/wiki

Discussions

Want to talk about it?

Head over to r/aescripts to chat with fellow users about this product.

Need Support?

Please open a support ticket to be connected directly with the author of this product

Version History

1.0 -

Feb 12, 2026

Release Version

Compatibility

After Effects

2026, 2025, 2024, 2023, 2022