explaingit

airbnb/lottie-ios

📈 Trending26,755SwiftAudience · developerComplexity · 2/5ActiveLicenseSetup · easy

TLDR

Open-source library that plays designer-created animations in iOS apps by rendering lightweight JSON files, eliminating manual animation recreation.

Mindmap

mindmap
  root((repo))
    What it does
      Renders animations from JSON
      Plays designer files natively
      No manual coding needed
    How it works
      Designer exports from After Effects
      JSON file format
      Smooth playback on device
    Key features
      Loop, reverse, speed control
      Interactive scrubbing
      Scales to any screen size
    Use cases
      Loading spinners
      Success animations
      Micro-interactions
    Tech stack
      Swift language
      iOS, macOS, tvOS, visionOS
    Benefits
      Pixel-perfect animations
      Tiny file sizes
      Cross-platform standard

Things people build with this

USE CASE 1

Add loading spinners and progress animations to your app without designing them by hand.

USE CASE 2

Display success checkmarks and completion animations that designers created in After Effects.

USE CASE 3

Build interactive animations where users can scrub through frames or trigger playback on tap.

USE CASE 4

Scale complex animations perfectly across different iPhone and iPad screen sizes with minimal file size.

Tech stack

SwiftiOSmacOStvOSvisionOSJSON

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 and license text.

In plain English

Lottie for iOS is an open-source library created by Airbnb that lets designers' animations run natively inside iPhone and iPad apps, no extra work needed from engineers to recreate them by hand. It bridges the gap between what a designer creates and what actually ships in the app. Here's how it works: a designer creates animations in Adobe After Effects (a professional animation tool) and exports them as a lightweight JSON file (a text-based data format). Lottie takes that JSON file and renders the animation smoothly on the device, playing it, looping it, reversing it, speeding it up, or even allowing users to interact with it by scrubbing through frame by frame. The practical benefit is significant for teams building apps: instead of a back-and-forth where engineers approximate what designers intended, you get pixel-perfect animations from the original design file. Because the animations are stored as data rather than video, they scale perfectly to any screen size and stay tiny in file size even when visually complex. This library is specifically for iOS, macOS, Apple TV, and Apple Vision Pro apps built in Swift (Apple's programming language). Airbnb also maintains equivalent versions for Android and the web, making Lottie a cross-platform standard for app animations across the industry. Many of the loading spinners, success checkmarks, and delightful micro-animations you see in popular apps are powered by Lottie behind the scenes.

Copy-paste prompts

Prompt 1
How do I import a Lottie animation JSON file into my iOS app and play it on a button tap?
Prompt 2
Show me how to loop a Lottie animation and control its speed from 0.5x to 2x in Swift.
Prompt 3
What's the simplest way to add a Lottie loading spinner to my SwiftUI view?
Prompt 4
How do I let users scrub through a Lottie animation frame-by-frame with a slider?
Prompt 5
Can I change the colors of a Lottie animation at runtime, and if so how?
Open on GitHub → Explain another repo

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