explaingit

airbnb/lottie-web

Analysis updated 2026-06-20

31,831JavaScriptAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

Load an After Effects animation exported as a JSON file and play it on any web page or app, lets designers ship complex animations without engineers recreating them in code.

Mindmap

mindmap
  root((Lottie))
    How it works
      After Effects export
      Bodymovin plugin
      JSON animation file
    Rendering
      SVG renderer
      Canvas renderer
      HTML renderer
    Controls
      Play and pause
      Speed and loop
      Frame seeking
    Use cases
      Loading spinners
      Onboarding flows
      Button feedback
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Play a designer-made loading spinner or success animation on your website without recreating it in CSS.

USE CASE 2

Add smooth onboarding illustrations to a mobile app that match exactly what the designer built in After Effects.

USE CASE 3

Show button-press feedback animations or micro-interactions that would take days to code by hand.

USE CASE 4

Build a marketing landing page with high-quality motion graphics exported directly from an After Effects file.

What is it built with?

JavaScript

How does it compare?

airbnb/lottie-weblovell/sharpparallax/jspdf
Stars31,83132,19331,228
LanguageJavaScriptJavaScriptJavaScript
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires an After Effects animation exported with the Bodymovin plugin, the JS library itself is trivial to install.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Lottie is a library that lets you run complex animations created by designers in Adobe After Effects directly inside a web page, Android app, iOS app, or React Native app, without needing to rebuild those animations in code. It solves the longstanding gap between what a designer can create and what an engineer can realistically implement by hand. The process works in two steps. First, a designer installs the Bodymovin plugin into Adobe After Effects and uses it to export their finished animation as a compact JSON file. Second, the developer loads that JSON file using Lottie's JavaScript library, which parses the file and plays it using either an SVG renderer, a canvas renderer, or an HTML renderer depending on the use case. The result is that the exact animation the designer built, with all its curves, fades, and motions, plays natively in the browser or app. Once an animation is loaded you can control it programmatically: play, pause, stop, change speed, play in reverse, jump to a specific frame, or loop a particular segment. Multiple animations can run independently on the same page. You would use Lottie when you want high-quality, designer-made animations such as loading spinners, onboarding illustrations, button feedback effects, or explainer animations that would take days to recreate in CSS or Canvas by hand. It is especially popular in apps where visual polish matters, like mobile onboarding flows or marketing landing pages. The tech stack for the web version is plain JavaScript with no required framework, distributed via npm as lottie-web. It runs in all modern browsers and supports multiple rendering backends. The designer-side tooling is the Bodymovin plugin for Adobe After Effects.

Copy-paste prompts

Prompt 1
I have a JSON file exported from After Effects using Bodymovin. Show me the minimum HTML and JavaScript needed to load and play it on a web page using lottie-web.
Prompt 2
How do I control a Lottie animation in JavaScript, play, pause, change speed, and loop only a specific range of frames?
Prompt 3
I want to trigger a Lottie animation when the user clicks a button and stop it when they click again. Show me the event listener and Lottie API calls.
Prompt 4
What is the difference between Lottie's SVG, canvas, and HTML renderers and when should I use each one?

Frequently asked questions

What is lottie-web?

Load an After Effects animation exported as a JSON file and play it on any web page or app, lets designers ship complex animations without engineers recreating them in code.

What language is lottie-web written in?

Mainly JavaScript. The stack also includes JavaScript.

What license does lottie-web use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is lottie-web to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is lottie-web for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub airbnb on gitmyhub

Verify against the repo before relying on details.