Skip to main content
Lottie5 min readNovember 2026

What is a Lottie animation and how does it work?

Short answer

A Lottie animation is a vector animation saved as a JSON file (or a zipped .lottie file) that a small player draws in real time on the web, iOS, Android and other platforms. Designers usually make it in After Effects and export it with a plugin. Because it stores shapes and keyframes rather than pixels, it stays sharp at any size and is often much smaller than a GIF or video of the same animation.

Core Takeaway

  • Lottie is a file format: JSON that describes layers, shapes and keyframes
  • A player library renders it live, so it scales without blurring
  • Most Lottie files start in After Effects and are exported with Bodymovin or the LottieFiles plugin
  • dotLottie (.lottie) is a zipped version that can bundle several animations, images and state machines
  • Lottie plays a timeline; interactivity needs extra logic or a dotLottie state machine

The name Lottie comes from the open-source player libraries Airbnb released in 2017 for iOS, Android and React Native. They read the JSON that the Bodymovin After Effects plugin exports. Today the format is used far beyond Airbnb, and LottieFiles runs the biggest library of free animations and tools around it.

How a Lottie file works

Open a Lottie JSON file and you will see the composition size (w, h), the frame rate (fr), the first and last frame (ip, op) and a list of layers. Each layer holds shapes, fills, strokes and transforms, and each animated property holds keyframes with easing. The player reads this once, then on every frame works out where each shape should be and draws it to SVG or a canvas.

That is why Lottie is small and sharp. A GIF stores every frame as pixels. A Lottie file stores the instructions to draw the frames, so a 3 second loader can be a few kilobytes and look crisp on a retina screen.

Where Lottie works well and where it does not

Lottie is a good fit for loaders, empty states, success checks, onboarding illustrations and icon animations: motion that plays from start to end. It struggles with animation that has to react to the user in many ways, because the file is one timeline. You can jump to frames or play segments from code, and dotLottie now supports state machines, but complex interactive UI is easier in tools built around states from the start.

Rendering cost is the other limit. Large files with many layers, masks or embedded images can drop frames on low-end phones. Keep shape counts low and avoid raster images inside the file.

Lottie, dotLottie and interactive formats

dotLottie (.lottie) is a zip that can hold one or more Lottie animations plus images, themes and state machines. Rive (.riv) and ExodeUI (.exode JSON) are different formats designed around state machines and inputs from the start. We make ExodeUI. If your animation only needs to play, Lottie is the most widely supported choice.

Frequently asked questions

Is Lottie a video?

No. A video stores pixels. Lottie stores vector shapes and keyframes that a player draws live, which is why it scales cleanly and can be controlled from code.

What is the difference between .json and .lottie?

A .json file is a single Lottie animation. A .lottie (dotLottie) file is a zip that can hold several animations, images, themes and state machines, and is usually smaller to download.

Do I need After Effects to make a Lottie?

Not any more. After Effects is still the most common source, but Figma plugins, LottieFiles Lottie Creator and other editors can create Lottie files in the browser.

Is Lottie free to use?

The format and the main player libraries are open source and free. Some editors and team features from LottieFiles are paid.

Related Guides & Examples

Need motion that reacts to state?

ExodeUI files are built around states, inputs and spring physics, and play in React, Flutter, SwiftUI and more.

Open the examples
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →