airbnb

airbnb/lottie-android

Java Apache-2.0 Mobile

Render After Effects animations natively on Android and iOS, Web, and React Native

35.7k stars
5.4k forks
slow
GitHub +16 / week

35.7k

Stars

5.4k

Forks

67

Open issues

30

Contributors

v6.7.1 31 Oct 2025

AI Analysis

Lottie is a cross-platform library (Android, iOS, Web, React Native, Windows) that renders Adobe After Effects animations exported as JSON, enabling designers to create and ship polished animations without manual developer recreation. It serves designers and mobile/web developers who need production-ready animation capabilities, but is not a general-purpose animation tool—it is specifically designed for AE-to-native workflows.

Mobile Library Discovery value: 2/10
Documentation 8/10
Activity 7/10
Community 9/10
Code quality 5/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

animation-rendering after-effects-integration cross-platform json-animation mobile-graphics
Actively maintained Well documented Popular Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
1w ago

Lottie-Android brings After Effects animations to mobile without manual re-implementation

Lottie for Android parses Adobe After Effects animations exported as JSON via the Bodymovin plugin and renders them natively on Android devices. It eliminates the traditional workflow where engineers had to hand-code complex animations that designers created in After Effects. Built originally by Airbnb and now maintained as a community project with corporate sponsors including LottieFiles, Coinbase, and Stream, it is used across thousands of production Android apps globally. It also supports Jetpack Compose via a companion lottie-compose artifact.

Origin

Launched by Airbnb in October 2016, Lottie emerged from a real internal pain point around shipping high-quality animations. It quickly became the de facto standard for After Effects-to-mobile animation, spawning sibling libraries for iOS, web, and React Native.

Growth

Growth was explosive between 2017 and 2020 as the design-to-engineering animation workflow problem resonated widely. The LottieFiles ecosystem (animation marketplace and tooling) created a strong network effect. Star growth has slowed to a trickle (~24/week) as of mid-2026, consistent with a mature, already-dominant library rather than declining relevance.

In production

Used in production by Airbnb itself, and sponsor list includes Coinbase and Stream — both large-scale production app developers. LottieFiles has indexed millions of Lottie animations and reports wide adoption. The 35k+ stars and 5.4k forks across the Java repo alone, combined with sibling repos for iOS (26k), web (32k), and React Native (17k), strongly indicate widespread real-world deployment. Maven Central download data would confirm scale but is not included here.

Code analysis
Architecture

Appears to implement a custom rendering engine that parses Bodymovin JSON (a well-defined spec) and maps animation data to native Android Canvas/View drawing operations. Likely uses a layered composition model mirroring After Effects' layer structure. The lottie-compose variant appears to wrap core rendering logic for Jetpack Compose compatibility. Written in Java with likely Kotlin interop given the Compose support.

Tests

README references a CI badge ('Build Status: Validate' via GitHub Actions), suggesting automated validation exists, but specific test coverage metrics are not documented in README.

Maintenance

Last push was February 15, 2026 — approximately 4.5 months before the evaluation date. For a mature library with a stable API, this cadence is consistent with active but not aggressive maintenance. Multiple named lead sponsors suggest ongoing funding. The project acknowledges nights-and-weekends maintenance, which may explain slower release cadence but does not imply abandonment.

Honest verdict

ADOPT IF: you are building an Android app that needs to ship designer-created After Effects animations efficiently and you are already in the After Effects / Bodymovin workflow. AVOID IF: you need interactive, state-machine-driven animations or GPU-accelerated rendering for very complex scenes — in those cases evaluate Rive or libpag. MONITOR IF: your team is considering migrating animation tooling to Rive or Lottie Dotlottie format, as the ecosystem is slowly shifting toward newer formats and runtimes.

Independent dimensions

Mainstream potential

7/10

Technical importance

8/10

Adoption evidence

9/10

Risks
  • Maintenance is self-described as nights-and-weekends, creating a bus-factor risk despite sponsor funding. A critical Android API change or security issue could be slow to address.
  • The Bodymovin/JSON format has known limitations in After Effects feature coverage; complex animations may require unsupported effects, forcing manual workarounds or designer constraints.
  • Rive is gaining traction as a purpose-built interactive animation runtime; over the next 2-3 years it may erode Lottie's dominance for new projects, particularly those requiring dynamic/interactive animations.
  • Performance overhead on low-end Android devices for complex multi-layer animations is a known concern in the community; CPU-bound rendering can cause dropped frames without careful optimization.
  • The library is written in Java (with Compose additions), and long-term alignment with a fully Kotlin-first Android ecosystem may require significant refactoring effort that volunteer maintainers may deprioritize.
Prediction

Lottie-Android will remain the default choice for After Effects-to-Android animation for at least 3-5 more years given its ecosystem lock-in, but new project starts may increasingly consider Rive for interactive use cases, gradually shifting Lottie toward a legacy-maintenance role.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Java
70.6%
Kotlin
29.1%
Shell
0.2%
JavaScript
0.1%

Information

Language
Java
License
Apache-2.0
Last updated
5mo ago
Created
119mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

airbnb

airbnb/lottie-web

Lottie is a cross-platform library (Web, Android, iOS, React Native, Windows)...

32k JavaScript Web Dev
airbnb

airbnb/lottie-ios

Lottie for iOS is a library that natively renders vector animations exported...

26.8k Swift Mobile
lottie-react-native

lottie-react-native/lottie-react-native

Lottie React Native is a wrapper library that enables React Native developers...

17.2k Kotlin Mobile
Tencent

Tencent/libpag

libpag is a high-performance rendering library for PAG (Portable Animated...

5.7k C++ Media
airbnb

airbnb/mavericks

Mavericks is Airbnb's Android framework designed to simplify app development...

5.9k Kotlin
vs. alternatives
airbnb/lottie-web

The web sibling library, sharing the same JSON animation format. Slightly more stars, reflecting web's broader reach. Not a competitor — they form a unified ecosystem targeting the same animation format across platforms.

Tencent/libpag

A C++ cross-platform animation renderer from Tencent that supports a richer feature set and its own PAG format. More performant in some benchmarks but requires a different toolchain and has a smaller ecosystem. A genuine technical alternative, particularly for teams needing GPU-accelerated rendering or After Effects feature parity beyond what Bodymovin exports.

lottie-react-native/lottie-react-native

The React Native bridge for Lottie, using lottie-android under the hood on Android. Complementary rather than competitive — its star count reflects adoption in the RN ecosystem specifically.

Android Animated Vector Drawable (built-in)

Google's native AVD system handles simpler vector animations without third-party dependencies. It does not support the complex layer-based After Effects compositions Lottie handles, making it a limited substitute for rich motion design.

Rive (rive-app/rive-android)

A newer animation runtime with its own design tool, supporting interactive state machines and procedural animation — capabilities Lottie lacks. Rive is growing in adoption for interactive UI animations, positioning it as an emerging alternative for teams willing to adopt a different authoring workflow.