Render Adobe After Effects animations natively on Web, Android, iOS, and React Native using JSON exports.
Lottie is an open-source library that renders Adobe After Effects animations natively on web and mobile platforms using JSON files exported via the Bodymovin plugin. It solves the problem of developers having to manually recreate complex animations by providing a direct pipeline from design tools to production environments. This ensures animations look identical across different devices and platforms.
Frontend and mobile developers who need to implement complex UI animations, as well as designers who want to ship animations without engineering overhead. It's particularly useful for teams using Adobe After Effects for motion design.
Developers choose Lottie because it drastically reduces animation implementation time, ensures pixel-perfect consistency with designer intent, and provides a lightweight, performant solution with extensive control over playback and rendering.
Render After Effects animations natively on Web, Android and iOS, and React Native. http://airbnb.io/lottie/
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Renders animations identically on Web, Android, iOS, React Native, and Windows using a single JSON file, eliminating platform-specific recreation. The README emphasizes native rendering across all supported platforms.
Enables designers to export directly from After Effects via the Bodymovin plugin, shipping animations without manual coding. The README states it allows designers to 'create and ship beautiful animations without an engineer painstakingly recreating it.'
Offers a comprehensive API for play, pause, speed, segments, and direction with event callbacks like onComplete and onSegmentStart. The README details methods such as playSegments and setSpeed for precise manipulation.
Supports SVG, Canvas, and HTML renderers, providing flexibility for different use cases and performance needs. The loadAnimation configuration in the README allows switching between renderers.
Uses compact JSON files instead of bulky videos or GIFs, with gzipping recommended for further size reduction. The README notes that gzipping 'has a huge reduction on the filesize.'
Does not support image sequences, videos, audio, or negative layer stretching, restricting the types of animations that can be exported. The README explicitly lists these as unsupported features.
Complex animations with many shapes or nodes can degrade performance, and the README warns against using 'huge shapes' or 'too many nodes' for optimization.
Requires Adobe After Effects and the Bodymovin plugin, adding tooling costs and a learning curve for teams not already using this ecosystem.
The Bodymovin plugin has six installation options, some involving manual steps like editing registry keys or using terminal commands, which can be error-prone. The README dedicates a lengthy section to this complexity.