Generate professional Lottie animations from SVGs using AI
Replace After Effects with intelligent motion design
Quick Start β’ Installation β’ Features β’ Examples
ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
β β β β β β¨ β¨ β
β π SVG β β β π€ Claude + β β β π β
β (static) β β Lottie Skill β β π₯ (animated!) β
β β β β β π¨ β
ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
rocket.svg "Animate this!" rocket-animated.json
| Rocket Launch | Chimp Walk Pro | Running Cat |
|---|---|---|
| Bounce β Flames β Stars | Frame-by-frame walk cycle | Professional 82-layer animation |
rocket-animated.json |
chimp-walk-pro.json |
Reverse-engineered for learning |
π Preview: Drag any .json file to LottieFiles Preview
| Bounce + Scale + Particles | Frame-by-Frame Animation | Trim Path + Draw On |
| Preview β | Preview β | Preview β |
Try the animations yourself:
- Download any
.jsonfromexamples/ - Drag to LottieFiles Preview
- Watch the magic!
Or run locally:
# Open the live preview page
open assets/preview-embedded.html
|
|
From Lucide, Phosphor, or your own design:
π rocket.svg (click to expand)
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2">
<path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"/>
<path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"/>
<path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"/>
<path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/>
</svg>You: Create a fun rocket launch animation - bounce before launch,
add flames, smoke particles, and twinkling stars!
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
Motion Philosophy: Playful + Energetic β
β β
Animation: 60fps, 90 frames (1.5s loop) β
β β
Layers generated: β
β β’ Rocket body with bounce entrance (bezier overshoot) β
β β’ Gradient flame with scale flicker β
β β’ 2x smoke particles (fade + expand + drift) β
β β’ 3x stars (pop-in + rotate + twinkle) β
β β
Output: rocket-animated.json (4.2KB) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Frame 0-15: π Rocket bounces in (scale 0β115β100 with overshoot)
Frame 15-25: π₯ Flames ignite, anticipation wobble
Frame 25-90: β¬οΈ LAUNCH! Rocket flies up with easing
Frame 25-75: π¨ Smoke particles expand and fade
Frame 50-90: β¨ Stars pop in, rotate, and twinkle
Try it yourself: examples/rocket-animated.json β Drag to LottieFiles Preview
# Add the marketplace
/plugin marketplace add obeskay/lottie-animator-skill
# Install the plugin
/plugin install lottie-animator# Clone the repository
git clone https://github.com/obeskay/lottie-animator-skill.git
# Use with Claude Code
claude --plugin-dir ./lottie-animator-skillThe skill activates automatically when you request:
"Animate this SVG logo"
"Create a Lottie animation"
"Generate motion graphics for my icon"
"Make a bounce/wiggle/pulse effect"
"Create an entrance/loading/loop animation"
| Preset | Curve | Use Case |
|---|---|---|
ease-out-cubic |
(0.33, 0, 0.67, 1) |
Smooth entrances |
ease-in-out-quart |
(0.76, 0, 0.24, 1) |
Professional transitions |
bounce |
(0.34, 1.56, 0.64, 1) |
Playful interactions |
elastic |
(0.68, -0.6, 0.32, 1.6) |
Dynamic feedback |
spring |
(0.5, 1.5, 0.5, 1) |
Natural motion |
| Type | FPS | Duration | Best For |
|---|---|---|---|
| Corporate | 30 | 1.5-2s | B2B, Finance |
| Organic | 60 | 2-3s | Audio, Creative |
| Bold | 60 | 0.8-1.5s | Startups, Marketing |
| Cinematic | 60 | 3-5s | Luxury, Entertainment |
| Category | Effects |
|---|---|
| Entrance | Fade, Scale, Slide, Reveal, Bounce |
| Loop | Pulse, Wiggle, Float, Rotate, Breathe |
| Attention | Bounce, Shake, Flash, Jiggle |
| Advanced | Morph, Stagger, Draw-on, Path follow |
| Pro | Parenting, Track Mattes, Masks, Frame-by-Frame |
Learned from analyzing professional animations like Running Cat:
| Technique | Use Case | Example |
|---|---|---|
| Frame-by-Frame | Walk/run cycles | 6 poses Γ 6 frames = 36 frame loop |
| Layer Parenting | Character rigs | Shadow controls 13+ body parts |
| Stroke + Fill | Outline style | Dark stroke + colored fill |
| ip/op Switching | Pose animation | Layers appear/disappear per pose |
Frame-by-Frame Walk Cycle:
βββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ
βPose1βPose2βPose3βPose4βPose5βPose6β β Each pose is a separate layer
βββββββΌββββββΌββββββΌββββββΌββββββΌββββββ€
β 0-6 β6-12 β12-18β18-24β24-30β30-36β β ip/op frame ranges
βββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ
File: examples/rocket-animated.json | Source: Lucide rocket.svg
Layers (7):
βββ Stars Γ3 (pop-in + rotate + twinkle)
βββ Smoke Γ2 (fade + expand + drift)
βββ Flame (gradient + scale flicker)
βββ Rocket Body (bounce entrance β launch)
Techniques:
β’ Scale overshoot (bezier 0.34, 1.56) for bounce
β’ Staggered star timing (frame 50, 55, 60)
β’ Gradient fill for realistic flame
β’ Ease-out curve for launch deceleration
File: examples/chimp-walk-pro.json | Technique: Frame-by-Frame
Layers (5):
βββ Shadow (parent for all poses, scale pulse)
βββ Pose 1 - Contact Left (ip: 0, op: 9)
βββ Pose 2 - Passing Left (ip: 9, op: 18)
βββ Pose 3 - Contact Right (ip: 18, op: 27)
βββ Pose 4 - Passing Right (ip: 27, op: 36)
Techniques:
β’ Frame-by-frame (4 poses Γ 9 frames = 36 total)
β’ Shadow as parent layer (moves all children)
β’ Stroke + fill for outline style
β’ 60fps, 0.6s seamless loop
{
"s": {
"a": 1,
"k": [
{"t": 0, "s": [0, 0], "o": {"x": [0.34], "y": [1.56]}, "i": {"x": [0.64], "y": [1]}},
{"t": 20, "s": [110, 110]},
{"t": 35, "s": [100, 100]}
]
}
}Copy this keyframe structure for any bounce-in effect!
React / Next.js
npm install lottie-reactimport Lottie from 'lottie-react';
import rocketAnimation from './rocket-launch.json';
export default function LaunchButton() {
return (
<Lottie
animationData={rocketAnimation}
loop={false}
style={{ width: 200, height: 200 }}
/>
);
}Vue 3
npm install vue3-lottie<template>
<Vue3Lottie :animationData="rocket" :loop="true" />
</template>
<script setup>
import { Vue3Lottie } from 'vue3-lottie'
import rocket from './rocket-launch.json'
</script>Vanilla JS / HTML
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest"></script>
<lottie-player
src="rocket-launch.json"
background="transparent"
speed="1"
loop
autoplay>
</lottie-player>React Native
npm install lottie-react-nativeimport LottieView from 'lottie-react-native';
export default function Animation() {
return (
<LottieView
source={require('./rocket-launch.json')}
autoPlay
loop
style={{ width: 200, height: 200 }}
/>
);
}| Reference | Description |
|---|---|
| Bezier Easing | 20+ professional easing presets |
| Lottie Structure | Complete JSON specification |
| Examples | 8 ready-to-use animations |
| SVG to Lottie | Conversion guide |
- Lottie Documentation - Official spec
- LottieFiles Preview - Test your animations
- Cubic Bezier Editor - Design custom easing
- Easings.net - Easing function reference
- Lucide Icons - Beautiful SVG icons
- Phosphor Icons - Flexible icon family
Contributions welcome! Please feel free to submit a Pull Request.
# Fork and clone
git clone https://github.com/YOUR_USERNAME/lottie-animator-skill.git
# Create feature branch
git checkout -b feature/amazing-feature
# Commit and push
git commit -m 'Add amazing feature'
git push origin feature/amazing-feature
# Open PRMIT License - see LICENSE for details.
Obed Vargas