# airbnb/lottie-android

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/airbnb-lottie-android).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

35,614 stars · 5,430 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/airbnb/lottie-android
- Homepage: http://airbnb.io/lottie/
- awesome-repositories: https://awesome-repositories.com/repository/airbnb-lottie-android.md

## Topics

`after-effects` `airbnb` `android` `animation` `lottie`

## Description

Lottie-android is a native vector animation engine and library for Android that parses JSON specification files into high-fidelity animations. It functions as a JSON animation parser and renderer, translating After Effects exported data into native draw calls to maintain design fidelity on mobile devices.

The library supports dynamic user interface control by allowing the modification of animation properties, such as colors, text, and shape attributes, during runtime playback. It also integrates with system-level accessibility settings to adjust playback and visibility in accordance with reduced motion preferences.

The engine covers a broad range of rendering and management capabilities, including complex vector graphics with masks and mattes, playback control for speed and repetition, and embedded image decoding. It optimizes mobile assets through composition caching and multi-source loading from local assets, URLs, or compressed archives.

## Tags

### Data & Databases

- [Animation Specification Parsers](https://awesome-repositories.com/f/data-databases/data-serialization-formats/data-formats/json/animation-specification-parsers.md) — Parses After Effects exported JSON data into a native object hierarchy for high-fidelity animation playback.
- [Animation Specification Parsers](https://awesome-repositories.com/f/data-databases/json-parsers/animation-specification-parsers.md) — Converts animation specification JSON files into renderable visual sequences while maintaining design fidelity.
- [Parsed Code Caching](https://awesome-repositories.com/f/data-databases/data-caching/persistent-binary-caches/parsed-code-caching.md) — Persists parsed animation source objects to a local cache to accelerate subsequent playback runs. ([source](https://github.com/airbnb/lottie-android/blob/master/CHANGELOG.md))
- [Animation](https://awesome-repositories.com/f/data-databases/dataset-management-tools/in-memory-caching/asset-caching/animation.md) — Implements local caching of parsed animation sequences to avoid repetitive network requests and expensive data processing.
- [Asset Path Managers](https://awesome-repositories.com/f/data-databases/file-asset-management/external-asset-modifiers/asset-path-managers.md) — Resolves and manages file system locations for external images and custom fonts through delegation. ([source](https://github.com/airbnb/lottie-android/blob/master/CHANGELOG.md))

### Graphics & Multimedia

- [After Effects Renderers](https://awesome-repositories.com/f/graphics-multimedia/after-effects-renderers.md) — Functions as a native library for parsing and rendering After Effects animations exported as JSON on Android devices.
- [Animation Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/animation-engines.md) — Implements a graphics engine for the programmatic creation and playback of frame-by-frame vector animations.
- [Effect-Based Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-pipeline-configurations/effect-based-rendering.md) — Renders complex graphical effects including blurs, shadows, and blend modes using masks and mattes. ([source](https://github.com/airbnb/lottie-android/blob/master/CHANGELOG.md))
- [Vector Graphics Renderers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/vector-rendering-pipelines/vector-graphics-renderers.md) — Renders sophisticated vector graphics, including complex masks, mattes, and blend modes, on mobile devices.
- [Animation Layer Compositing](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/tile-map-renderers/raster-and-vector-tile-renderers/layer-based-composition/animation-layer-compositing.md) — Organizes visual elements into a hierarchical tree of layers and shapes updated every frame.
- [JSON Animation Rendering](https://awesome-repositories.com/f/graphics-multimedia/json-animation-rendering.md) — Parses After Effects exported JSON and renders it natively on Android to maintain high design fidelity. ([source](https://github.com/airbnb/lottie-android#readme))
- [Asset Loading Systems](https://awesome-repositories.com/f/graphics-multimedia/asset-loading-systems.md) — Implements a system for importing and managing external images and fonts required for rendering animations.
- [Hardware-Accelerated Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering.md) — Offloads the composition of visual layers to the graphics processor for improved frame rates and smoother visuals. ([source](https://github.com/airbnb/lottie-android/blob/master/CHANGELOG_COMPOSE.md))
- [Rendering Clipping Regions](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/vector-rendering-pipelines/vector-graphics-renderers/rendering-clipping-regions.md) — Restricts the animation rendering area to composition bounds or allows elements to bleed outside the frame. ([source](https://github.com/airbnb/lottie-android/blob/master/CHANGELOG_COMPOSE.md))
- [Image Format Decoders](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/image-processing-pipelines/image-format-decoders.md) — Decodes bitmap images referenced within animation files from base64 strings or local assets. ([source](https://github.com/airbnb/lottie-android/blob/master/CHANGELOG_COMPOSE.md))

### Part of an Awesome List

- [Animations and Effects](https://awesome-repositories.com/f/awesome-lists/devtools/animations-and-effects.md) — Enables high-fidelity After Effects animations to be used in Android apps via JSON files.
- [Android Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/android-libraries.md) — Library for rendering After Effects animations natively.
- [Animation Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/animation-libraries.md) — Render After Effects animations natively.

### Mobile Development

- [Android Development](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-development.md) — Provides a high-fidelity motion library specifically designed for building applications on the Android operating system.

### User Interface & Experience

- [Dynamic Property Updaters](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/animation-property-accessors/dynamic-property-updaters.md) — Synchronizes animation keyframes with native view properties to allow dynamic runtime updates of colors and text.
- [Frame Interpolation Engines](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/frame-execution-synchronization/animation-frame-rate-controls/frame-interpolation-engines.md) — Calculates intermediate visual states between keyframes to ensure smooth motion based on playback progress.
- [Animation Playback Controls](https://awesome-repositories.com/f/user-interface-experience/animation-frameworks/animation-playback-controls.md) — Controls playback speed, repeat counts, and reverse playback via frame and progress markers. ([source](https://github.com/airbnb/lottie-android/blob/master/CHANGELOG_COMPOSE.md))
- [Accessibility Motion Controls](https://awesome-repositories.com/f/user-interface-experience/accessibility-motion-controls.md) — Adjusts animation playback and visibility to respect system-level reduced motion settings for accessibility.
- [Background Processing](https://awesome-repositories.com/f/user-interface-experience/background-processing.md) — Offloads animation parsing and frame calculation to background threads to ensure a smooth, stutter-free user interface.
- [Dynamic Animation Controllers](https://awesome-repositories.com/f/user-interface-experience/component-utilities/animation-engines/dynamic-animation-controllers.md) — Provides tools for updating animation parameters and target states during active execution sequences to create interactive UI elements.
- [Custom Font Registrars](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/typography-and-iconography/typography/font-libraries/custom-font-registrars.md) — Maps external font files to specific text elements within animations to ensure typographic consistency. ([source](https://github.com/airbnb/lottie-android/blob/master/CHANGELOG_COMPOSE.md))
