Lottie (Android)

Airbnb's animation library for Android that renders Adobe After Effects animations exported as JSON via the Bodymovin plugin — without code-generated animation drawables or manual frame-by-frame art. Lottie plays vector animations at any resolution without pixelation. Native Android support via LottieAnimationView (XML) and LottieAnimation composable (Jetpack Compose). Supports looping, speed control, dynamic properties (change colors/sizes at runtime), progress-driven animations (scrub animation frame by frame), and network-loaded JSON. Used for loading spinners, onboarding illustrations, success/error states, and micro-interactions in agent UIs.

Evaluated Mar 06, 2026 (0d ago) v6.x
Homepage ↗ Repo ↗ Developer Tools android kotlin animation lottie json compose after-effects svg ui
⚙ Agent Friendliness
67
/ 100
Can an agent use this?
🔒 Security
93
/ 100
Is it safe for agents?
⚡ Reliability
83
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
85
Error Messages
78
Auth Simplicity
100
Rate Limits
100

🔒 Security

TLS Enforcement
95
Auth Strength
95
Scope Granularity
90
Dep. Hygiene
88
Secret Handling
95

No network calls by default — animations bundled locally. Network-loaded animations should validate JSON source; malicious Lottie JSON is unlikely but validate URLs. No sensitive data exposure risk for animation library.

⚡ Reliability

Uptime/SLA
88
Version Stability
82
Breaking Changes
78
Error Recovery
85
AF Security Reliability

Best When

Your design team produces After Effects animations and you need to render them exactly in your Android agent app — Lottie is the standard bridge between motion design and Android implementation.

Avoid When

You don't have After Effects animations (use Compose Animation APIs), you need physics-based interactions, or you need 3D rendering.

Use Cases

  • Add polished loading animations to agent app screens — Lottie JSON from LottieFiles plays smooth vector spinner while agent processes requests, replacing placeholder progress indicators
  • Display agent status animations in Jetpack Compose — LottieAnimation composable with isPlaying and iterations for agent thinking/idle/success state visual feedback
  • Drive agent onboarding illustrations from scroll position — LottieAnimationView with setProgress(scrollFraction) creates scroll-linked animations for agent feature introductions
  • Dynamic agent brand color injection at runtime — Lottie dynamic properties allow changing animation colors to match agent theme without re-exporting After Effects files
  • Load agent celebration or error animations from URL — Lottie supports loading JSON animations from network URLs for remotely updateable agent UI feedback animations

Not For

  • Complex interactive animations with physics — Lottie plays pre-authored animations; for physics-based agent UI interactions, use Jetpack Compose spring animations or Rebound
  • 3D animations — Lottie is 2D vector only; for 3D agent app animations, use Filament or Unity integration
  • Programmatically generated animations — Lottie plays exported After Effects JSON; for code-driven agent UI animations, use Jetpack Compose Animation APIs or ObjectAnimator

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

Animation library — no auth concepts. Network-loaded animations use application's OkHttp client with standard auth headers if needed.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

Lottie-android is Apache 2.0 licensed, maintained by Airbnb. Free for all use. LottieFiles (animation marketplace) is a separate commercial service.

Agent Metadata

Pagination
none
Idempotent
Full
Retry Guidance
Not documented

Known Gotchas

  • LottieComposition must be parsed async — parsing Lottie JSON on main thread causes ANR for complex animations; in Compose use rememberLottieComposition() which parses in background; in Views use LottieAnimationView which handles async loading automatically
  • Lottie 6.x Compose API changed — Lottie 6.0+ uses LottieAnimation composable with LottieCompositionSpec; older apps using LottieAnimationView in Compose via AndroidView need migration; check version-specific Compose integration docs
  • Asset bundling affects APK size — Lottie JSON files bundled in assets/ folder add to APK size; complex agent onboarding animations can be 200KB-2MB each; load from network with caching for infrequently shown agent animations
  • Dynamic properties require keypath matching — Lottie dynamic properties (color overrides) use keypath strings matching After Effects layer names; layer renames in After Effects break dynamic property keypaths; coordinate naming conventions with design team
  • Hardware layer reduces rendering overhead — for looping agent animations, set lottieView.setLayerType(View.LAYER_TYPE_HARDWARE, null) or use RenderMode.HARDWARE in Compose for GPU-accelerated compositing on complex animations
  • Lottie Compose recomposition on progress change — animating progress with animateLottieCompositionAsState recomposes parent composables on each frame; isolate LottieAnimation in its own composable to limit recomposition scope in agent UI

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Lottie (Android).

$99

Scores are editorial opinions as of 2026-03-06.

5215
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered