awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
airbnb avatar

airbnb/lottie

0
View on GitHub↗
4,922 stars·332 forks·HTML·MIT·41 views

Lottie

Lottie is a JSON vector animation engine and cross-platform player that renders resolution-independent motion graphics. It functions as a runtime renderer that translates Adobe After Effects compositions into real-time animations using a JSON-based intermediate representation.

The project distinguishes itself by enabling dynamic control over vector assets at runtime. It allows for the programmatic modification of animation properties, colors, and playback states through hierarchical key-paths and dynamic theming. This allows animations to respond to real-time application state changes and user gestures.

The engine covers a broad range of capabilities, including hardware-accelerated rendering and model caching for high performance. It provides comprehensive playback control for frame seeking, segment looping, and event triggering, alongside a rendering system that supports 3D cameras, shape morphing, and procedural vector generation. Asset management is handled through multi-source data import, supporting local bundles, network URLs, and various vector file formats.

Features

  • Animation Schemas - Defines animation data as a portable JSON format that maps After Effects properties to a cross-platform specification.
  • After Effects Renderers - Translates Adobe After Effects compositions into real-time animations using a JSON-based intermediate representation.
  • Animation Schema Parsers - Parses animations exported as JSON and renders them natively to maintain design fidelity.
  • Vector Graphics Renderers - Provides a high-performance engine for rendering resolution-independent vector animations across multiple platforms using JSON data.
  • Dynamic Vector Graphics - Enables programmatic modification of animation properties, colors, and playback states at runtime via key-paths.
  • JSON Animation Rendering - Parses JSON files exported from After Effects to render resolution-independent vector animations natively.
  • Lottie Players - Imports animation files from local assets, remote URIs, or JavaScript objects for rendering.
  • Animation State Controllers - Provides utilities for programmatically reading and modifying the progress and easing of animations.
  • Animation - Uses a JSON-based intermediate representation to decouple design tool compositions from cross-platform runtime playback.
  • Key-Path Property Mapping - Navigates a hierarchical tree of animation layers to update specific visual attributes programmatically at runtime.
  • Deterministic Seeking - Provides functionality to move the playhead to a specific absolute frame or timestamp.
  • Frame Interpolation Engines - Calculates intermediate property values between keyframes to ensure smooth motion across various refresh rates.
  • Runtime Property Modifiers - Provides tools for updating animation visual attributes in real time during active playback.
  • Animation Playback Controls - Enables precise playback control using progress percentages, frame numbers, or named markers.
  • Cross-Platform Animation Players - Renders resolution-independent animations from JSON files across web, mobile, and desktop platforms.
  • Cross-Platform Native Renderers - Translates a common animation model into native drawing primitives using the graphics APIs of different operating systems.
  • Animation - Stores parsed animation models in a temporary cache to prevent redundant processing and reduce memory overhead.
  • Multimodal Asset Caches - Provides custom image providers and caches deserialized models to improve runtime performance.
  • Animation Event Triggers - Lottie executes custom logic when specific milestones occur, such as loop completion or frame entry.
  • Animation Expression Evaluators - Processes a subset of design tool expressions to drive property behavior dynamically.
  • Animation Model Caching - Implements model caching to eliminate redundant JSON parsing and optimize playback performance.
  • Animation Model Loading - Supports importing animation models from local bundles, absolute filepaths, or remote URLs.
  • Hardware-Accelerated Engines - Leverages GPU acceleration and native APIs to maintain high frame rates for complex vector animations.
  • Playback Event Hooks - Tracks animation progress and state changes via callbacks to trigger logic during playback.
  • Bézier Curve Interpolations - Computes smooth transitions between vector shapes using cubic Bezier curve interpolation.
  • Dynamic Color Filters - Implements real-time application of color filters to specific layers of vector animations for accessibility and theming.
  • Fill and Stroke Styles - Applies colors, gradients, and patterns to define the interior and boundaries of vector shapes.
  • Hardware-Accelerated Rendering - Offloads the composition of visual animation layers to the graphics processor for improved performance.
  • Animation Layer Compositing - Offloads the rendering of individual animation layers to the GPU to maintain high frame rates.
  • High-Performance Rendering - Utilizes hardware acceleration and model caching to render complex vector animations smoothly on low-power devices.
  • Multi-Format Asset Imports - Loads animation data from JSON files, zip archives, network URLs, or raw input streams.
  • Playback Output Adjustments - Enables real-time adjustment of playback speed, looping behavior, and playhead position.
  • Primitive Shape Generation - Algorithmic creation of basic geometric shapes like ellipses, polygons, and stars.
  • Vector Format Conversions - Transforms Illustrator, EPS, SVG, or PDF assets into shape layers for runtime compatibility.
  • Vector Path Modifiers - Trims or transforms collections of paths using percentages or rules to create dynamic visual effects.
  • Asynchronous Asset Loading - Retrieves images and external dependencies asynchronously to prevent blocking the main UI thread.
  • Configurable Animation Loops - Supports repeating animations in full or restricting playback to specific frame ranges and markers.
  • Morphing Shape Animations - Implements seamless transitions between distinct shapes through morphing shape animations.
  • Interactive Motion Drivers - Allows animation playback and properties to be driven by real-time user gestures and scroll positions.
  • Interactive Playback - Supports interactive triggers such as buttons and switches to execute specific animation ranges.
  • Dynamic Theming - Modifies animation colors, opacity, and properties at runtime to match application themes or accessibility requirements.
  • Input-to-Playback Mappings - Links animation frames directly to external user gestures or scroll positions for manual playback control.
  • Animation Layer Coloring - Enables changing the colors of specific animation layers using keypaths and hex filters.
  • Runtime Property Injection - Allows applying visual properties like colors and positions to components at runtime via key-paths.

Star history

Star history chart for airbnb/lottieStar history chart for airbnb/lottie

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does airbnb/lottie do?

Lottie is a JSON vector animation engine and cross-platform player that renders resolution-independent motion graphics. It functions as a runtime renderer that translates Adobe After Effects compositions into real-time animations using a JSON-based intermediate representation.

What are the main features of airbnb/lottie?

The main features of airbnb/lottie are: Animation Schemas, After Effects Renderers, Animation Schema Parsers, Vector Graphics Renderers, Dynamic Vector Graphics, JSON Animation Rendering, Lottie Players, Animation State Controllers.

Which projects share features with airbnb/lottie?

Projects with overlapping indexed features include: tencent/libpag — The official rendering library for PAG (Portable Animated Graphics) files that renders After Effects animations… airbnb/lottie-android — Lottie-android is a native vector animation engine and library for Android that parses JSON specification files into… facebookarchive/keyframes — Keyframes is a cross-platform animation library and playback engine designed to render Adobe After Effects shape… airbnb/lottie-react-native — lottie-react-native is a React Native animation library and cross-platform vector animation engine used to render… airbnb/lottie-ios — lottie-ios is a vector graphics engine and animation framework for iOS that renders animations exported from After… shopify/react-native-skia — react-native-skia is a cross-platform graphics framework that provides a high-performance 2D graphics engine for…

Projects sharing features with Lottie

These projects share indexed features with Lottie. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • tencent/libpagTencent avatar

    Tencent/libpag

    5,708View on GitHub↗

    The official rendering library for PAG (Portable Animated Graphics) files that renders After Effects animations natively across multiple platforms.

    C++after-effectsanimationkeyframes
    View on GitHub↗5,708
  • airbnb/lottie-androidairbnb avatar

    airbnb/lottie-android

    35,614View on GitHub↗

    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 redu

    Javaafter-effectsairbnbandroid
    View on GitHub↗35,614
  • facebookarchive/keyframesfacebookarchive avatar

    facebookarchive/Keyframes

    5,294View on GitHub↗

    Keyframes is a cross-platform animation library and playback engine designed to render Adobe After Effects shape animations as high-quality vector graphics on mobile devices. It functions as a vector animation player that executes complex path and shape animations using a JSON-based data format, removing the need for rasterized video files. The system enables the conversion of shape-based animations from After Effects into a portable schema for delivery across both Android and iOS platforms. This ensures visual consistency by utilizing a shared framework to render the same vector animation da

    JavaScript
    View on GitHub↗5,294
  • airbnb/lottie-react-nativeairbnb avatar

    airbnb/lottie-react-native

    17,164View on GitHub↗

    lottie-react-native is a React Native animation library and cross-platform vector animation engine used to render high-quality animations exported from After Effects via the Lottie file format. It functions as a Lottie animation player that allows mobile applications to display hardware-accelerated animations that maintain visual quality across different screen resolutions. The library serves as a dynamic animation controller, enabling the manipulation of playback, color filters, and text layers in real time. It provides the ability to change animation colors and visuals by applying filters t

    Kotlin
    View on GitHub↗17,164
Compare all 30 related projects→