explaingit

airbnb/lottie-android

35,612JavaAudience · developerComplexity · 2/5MaintainedLicenseSetup · easy

TLDR

Display animations designed in Adobe After Effects directly in Android apps without manual conversion, just export as JSON and render with Lottie.

Mindmap

mindmap
  root((repo))
    What it does
      Render After Effects animations
      Vector-based scaling
      No manual conversion needed
    How it works
      Designer exports JSON
      Developer adds JSON file
      Library renders natively
    Use cases
      Onboarding screens
      Loading states
      Button feedback
      UI motion effects
    Tech stack
      Java
      Android
      Jetpack Compose
    Supported platforms
      Android
      iOS
      React Native
      Web
      Windows

Things people build with this

USE CASE 1

Add smooth onboarding animations to your Android app without writing animation code.

USE CASE 2

Display loading spinners and progress indicators designed by your motion designer.

USE CASE 3

Create interactive button feedback and micro-interactions that scale perfectly to any screen size.

USE CASE 4

Render complex UI animations from After Effects directly in your app as vector graphics.

Tech stack

JavaAndroidJetpack ComposeGradle

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Lottie is a library originally created by Airbnb that allows mobile apps to display animations designed in Adobe After Effects, a professional motion graphics and video editing tool, without any manual conversion by a developer. The problem it solves is the traditional mismatch between designers and engineers: a designer creates a beautiful animation in After Effects, but translating it into native mobile code is a tedious, error-prone process that often results in a simplified version of the original. Lottie closes that gap entirely. The workflow is straightforward: a designer creates an animation in After Effects and exports it as a JSON file using a plugin called Bodymovin. The developer then includes that JSON file in the mobile app and uses the Lottie library to render it. The result is the full, pixel-perfect animation playing natively on the device, no video file, no GIF, just vector-based rendering that scales cleanly to any screen size. Lottie supports Android, iOS, React Native, Web, and Windows, each as a separate library. The Android version (this repository) is written in Java and integrates with Jetpack Compose via a companion lottie-compose package. Animations are loaded from the assets folder, a URL, or a raw JSON string. A mobile developer building an app that needs smooth, designer-created animations for onboarding screens, loading states, button feedback, or any other UI motion would use Lottie. The primary language is Java, it targets the Android platform, and it is added as a Gradle dependency.

Copy-paste prompts

Prompt 1
How do I load a Lottie animation from a JSON file in my Android app and play it on a button click?
Prompt 2
Show me how to integrate Lottie animations into a Jetpack Compose screen.
Prompt 3
What's the simplest way to add a loading animation to my Android app using Lottie?
Prompt 4
How do I export an After Effects animation as JSON using Bodymovin and use it in my Android project?
Prompt 5
Can I control the playback speed and loop behavior of a Lottie animation in Android?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.