airbnb /lottie-ios

An iOS library to natively render After Effects vector animations

★ 26,933⑂ 3,837
SwiftCreated 2016-10-06lottie.airbnb.tech
26,933
stars
+7+7+36
3,837
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

Lottie for iOS
      

View documentation, FAQ, help, examples, and more at airbnb.io/lottie

Lottie is a cross-platform library for iOS, macOS, tvOS, visionOS, Android, and Web that natively renders vector-based animations and art in realtime with minimal code.

Lottie loads and renders animations and vectors exported in the bodymovin JSON format. Bodymovin JSON can be created and exported from After Effects with bodymovin, Sketch with Lottie Sketch Export, and from Haiku.

Designers can create and ship beautiful animations without an engineer painstakingly recreating them by hand.
Since the animations are backed by JSON, they are extremely small in size but can be large in complexity!
Animations can be played, resized, looped, sped up, slowed down, reversed, and even interactively scrubbed.
Lottie can play or loop just a portion of the animation as well, the possibilities are endless!
Animations can even be changed at runtime in various ways! Change the color, position, or any keyframable value!

Here is just a small sampling of the power of Lottie

!Example1
!Example2



!Example3

!Abcs

 Installing Lottie
Lottie supports Swift Package Manager, CocoaPods, and Carthage (Both dynamic and static).

 Github Repo

You can pull the Lottie Github Repo and include the Lottie.xcodeproj to build a dynamic or static library.

 Swift Package Manager

To install Lottie using Swift Package Manager you can follow the tutorial published by Apple using the URL for the Lottie repo with the current version:

1. In Xcode, select “File” → “Add Packages...”
1. Enter https://github.com/airbnb/lottie-spm.git

or you can add the following dependency to your Package.swift:

swift
.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.6.1")


When using Swift Package Manager we recommend using the lottie-spm repo instead of the main lottie-ios repo.  The main git repository for lottie-ios is somewhat large (300+ MB), and Swift Package Manager always downloads the full repository with all git history. The lottie-spm repo is much smaller (less than 500kb), so can be downloaded much more quickly. 

Instead of downloading the full git history of Lottie and building it from source, the lottie-spm repo just contains a pointer to the precompiled XCFramework included in the latest lottie-ios release (typically ~8MB). If you prefer to include Lottie source directly your project, you can directly depend on the main lottie-ios repo by referencing https://github.com/airbnb/lottie-ios.git instead.

 CocoaPods
Add the pod to your Podfile:
ruby
pod 'lottie-ios'


And then run:
ruby
pod install

After installing the cocoapod into your project import Lottie with
swift
import Lottie


 Carthage
Add Lottie to your Cartfile:

github "airbnb/lottie-ios" "master"


And then run:

carthage update

In your application targets “General” tab under the “Linked Frameworks and Libraries” section, drag and drop lottie-ios.framework from the Carthage/Build/iOS directory that carthage upd

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON