Total number of particle shapes generated. Higher values create denser effects but increase JSON file size and render time.
Time window over which particles are born. Particles spawn at random times within this window. Longer values create a more continuous stream.
Burst Mode ?
All particles spawn at once on frame 0 instead of being spread over the emit duration. Great for explosions and fireworks.
The area from which particles spawn. Point emits from center, Line spreads along a horizontal line, Circle fills a disc, Rectangle fills a box.
Width ?
Width of the emission area. Only applicable to Line and Rectangle emitter shapes.
Height ?
Height of the emission area. Only applicable to the Rectangle emitter shape.
Moves the emitter origin horizontally over the emit duration. The emitter travels this many pixels left-to-right as it spawns particles.
Moves the emitter origin vertically over the emit duration. Combine with Sweep X to create diagonal or curved emission paths.
Physics ▼
Starting velocity of each particle in pixels per frame. Particles launch outward from the emitter in a random direction at this speed.
How much speed each particle retains per frame. 1.0 = no drag (constant speed), 0.90 = heavy drag (particles stop quickly). Lower values make particles feel snappier.
Strength of pseudo-random noise added to each particle's movement. Creates organic, shimmering motion. Higher values make particles wiggle more wildly.
How much each particle's initial speed varies from the base speed. 0% = all particles move at the same speed. 100% = speeds range from near-zero to double.
Constant horizontal force applied to all particles every frame. Negative = blows left, positive = blows right. Stacks with particle velocity.
Constant vertical force applied every frame. Negative = blows upward, positive = blows downward. Unlike gravity, wind force is constant (doesn't accelerate).
Accelerating vertical force. Unlike wind, gravity compounds over time so particles fall faster and faster. Positive = downward, negative = upward (buoyancy).
Appearance ▼
The geometry of each particle. Circle and Square use Lottie ellipse/rect shapes. Triangle and Star use polystar paths. Rotation is only visible on non-circle shapes.
Maximum diameter of each particle in pixels. Actual size varies randomly between 20% and 100% of this value for natural variation.
How particle scale changes over its life. Default fades in/out smoothly. Grow starts small and expands. Shrink starts full and reduces. Pulse oscillates between large and small.
Maximum lifetime of each particle in seconds. Actual life varies between 40% and 100% of this value. Longer life means particles travel farther before fading out.
Minimum rotation speed in degrees per second. Each particle gets a random spin between Min and Max. Negative = counter-clockwise. Only visible on non-circle shapes.
Maximum rotation speed. Set both Min and Max to 0 for no rotation. Try -360 to 360 for confetti-like tumbling.
Each particle is randomly assigned one of these colors. Use + / − to add or remove swatches. Click a swatch to change its color.
Canvas & Animation ▼
Resolution of the Lottie animation in pixels. Particles spawn from center of this canvas. Choose a size that matches your target composition.
Width ?
Custom width of the Lottie export canvas in pixels.
Height ?
Custom height of the Lottie export canvas in pixels.
Frames per second of the output animation. Physics are normalized so the visual result stays consistent across frame rates. 24 for film, 30 for web, 60 for smooth playback.
Total length of the animation in seconds. Particles that would extend past this time are cut short. Longer durations produce larger JSON files.
Position is recorded every Nth frame with linear interpolation between samples. 1 = every frame (largest file, exact path). 3 = every 3rd frame (66% smaller). Higher values reduce file size but may lose fine detail.
Seamless Loop ?
Distributes particle births evenly across the entire duration so the animation loops smoothly with no visible gap. Overrides emit duration. Best for looping backgrounds.
Download JSON & import to After Effects via Bodymovin. Press ? for shortcuts.