LottieFiles

Why Use Lottie

Jan 21, 20206 min read
Why Use Lottie

This article was first published on 21 January 2020. It has since been updated on 6 April 2026 following new developments.

Lottie is a JSON-based animation format that lets you ship animations on any platform as easily as shipping static assets. It is small, vector-based, scalable, and supported on every major platform without additional software.

It is important to understand the distinction between two related but different things: Lottie JSON is the base animation format where it handles playback, scalability, and cross-platform support. dotLottie (.lottie) is a superset format that extends Lottie JSON with compression, multi-animation bundling, theming, state machines, motion tokens, and ThorVG-powered rendering consistency. Features like interactivity and theming belong to dotLottie; not to Lottie JSON alone.

This guide walks through every reason to choose Lottie and dotLottie with accurate feature attribution for each.

Lottie JSON vs dotLottie (.lottie): What each format supports

Use this as a quick reference before diving into the reasons below. Features attributed to dotLottie require the .lottie format and a dotLottie-compatible player; they are not available in standard Lottie JSON.

Feature Lottie JSON dotLottie (.lottie)
Small file size Yes Yes + up to 80–90% smaller
Vector / infinite scale Yes Yes
Cross-platform playback Yes Yes
Basic runtime interactivity Via player APIs Via player APIs/td>
Theming (dark/light/brand) No Yes
State machines No Yes
Motion Tokens No Yes
Multi-animation bundling No Yes
Asset bundling (fonts/imgs) No Yes
ThorVG rendering parity Varies by player All dotLottie runtimes

Lottie JSON benefits

1. Lottie plays everywhere

Lottie is an animation format that plays on the web, all major mobile platforms, IoT devices, desktop applications, and more without requiring any additional software on the user's device.

  • Web: Runs on any modern browser via JavaScript-based players. No plugin, no Flash, no video embed required.
  • iOS and Android: Native rendering libraries available for Swift and Kotlin/Jetpack Compose.
  • React Native, Flutter, Windows (.NET), Qt: Official or community libraries for all major frameworks and platforms.
  • Tizen, LVGL, Godot, Espressif: Lottie rendering (via ThorVG) is already in production on embedded systems and gaming platforms.
💡

One animation file for every platform

With Lottie, you do not need to create separate animation files per platform. One animation, once. As one engineer at Gojek put it: "With Lottie, we no longer have to make thousands of different versions of one animation; just one solution for web, mobile, iOS, and Android."

2. Tiny file sizes without sacrificing quality

Lottie JSON animations are dramatically smaller than the alternatives while retaining full quality at any resolution:

  • vs GIF: Lottie is up to 6x smaller than an equivalent GIF
  • vs MP4 / video: Lottie renders as vectors, not raster frames; no codec overhead
  • vs APNG: significantly smaller and infinitely scalable
💡

dotLottie goes further

Standard Lottie JSON is already small. dotLottie (.lottie) compresses files a further 80–90% using Deflate compression, and bundles all assets — fonts, images, themes — into a single archive. This eliminates multiple HTTP requests and further reduces CDN and bandwidth costs.

3. Infinite scalability with no pixelation

Lottie animations are vector-based. The player renders at the native resolution of the device's screen, meaning:

  • Animations are always sharp, regardless of screen size or pixel density.
  • A user zooming in gets a re-render at native resolution with no pixelation at any magnification.
  • No need to maintain 1x, 2x, 3x resolution variants as one file serves all.
  • Animations automatically scale to their container without manual adjustment, just as modern UI frameworks expect.

4. Basic runtime interactivity, available with Lottie JSON through player APIs

Standard Lottie JSON can be controlled at runtime by compatible players, so animations can respond to interactions such as scrolling, clicking, or hovering through player APIs and custom JavaScript or native code. This covers patterns like scroll-synced playback, click-to-play, hover triggers, and other event-driven controls.

However, this interactivity is not inherently encoded in the Lottie JSON file itself. In most cases, the logic lives in the player, integration layer, or app code. More advanced runtime property binding, such as updating text, colors, gradients, or transforms from live data, is better described as a capability of specific runtimes or formats like dotLottie with Motion Tokens, rather than standard Lottie JSON alone.

5. Lottie closes the gap between design & development

Before Lottie, motion designers built animations in After Effects and handed them to developers, who would try to re-implement them in code. The options were limited to low-quality GIF/MP4 exports or full code reconstructions.

LottieFiles changed that workflow. With the LottieFiles for After Effects plugin, designers can export animations from After Effects into the Lottie format, making them directly usable across web, mobile, and app interfaces. We also have various other plugins such as Figma, Webflow, Framer, and more. You can view the full list of plugins here.

Now, instead of rebuilding motion from scratch, developers can work from the actual animation asset itself; creating a much smoother handoff between design and development.

dotLottie (.lottie) benefits: beyond Lottie JSON

The following benefits require the dotLottie format and a dotLottie-compatible player (dotlottie-web, dotlottie-ios, dotlottie-android, etc.). They are not available in standard Lottie JSON.

1. Guaranteed cross-platform visual consistency, powered by ThorVG

Historically, the biggest pain point in multi-platform Lottie deployment was inconsistency; gradients rendering differently on iOS vs Android, masks not matching, easing feeling slightly off. Different platforms used different rendering engines and the spec drifted in practice.

dotLottie runtimes solve this by using one shared engine across every platform: ThorVG. ThorVG is a production-ready, open-source vector graphics engine (~150 KB) that runs as WebAssembly on the web and through native bindings on iOS, Android, and embedded platforms. Because every platform shares the same renderer, the same animation looks the same everywhere.

2. No-code interactivity via State Machines

dotLottie State Machines are the most significant new capability in the Lottie ecosystem. They allow designers to define how an animation responds to user interactions such as clicks, hovers, scroll events, API responses, custom triggers/

The interactivity logic is designed visually inside Lottie Creator, then embedded directly into the .lottie file. The dotLottie player on every platform reads and executes it natively; no extra code needed from developers for each platform.

What this enables:

  • A button that plays its hover state on hover, pressed state on click, and resets on release; all in one .lottie file
  • A loading indicator that transitions to success or error based on an API response
  • An onboarding flow that sequences animations based on user progress
  • Any stateful UI component; toggles, traffic lights, form validators, multi-step flows
💡

Why State Machines change the designer–developer relationship

Previously, designers handed off animation intent and developers re-built the interaction logic in code; separately for each platform. With dotLottie state machines, the logic is designed once in Lottie Creator, embedded in the .lottie file, and handed off as a single source of truth. Developers use a few lines of code to run it. No re-implementation, no cross-platform drift, no translation errors between design and code.

3. Data-driven animation via Motion Tokens

Motion Tokens are a dotLottie feature that allow animation properties, such as colors, text content, numeric values, and transforms, to be exposed as bindable tokens updated at runtime from live data sources.

This turns animations into live UI components rather than static playback assets:

  • A welcome animation that displays the user's name from your auth layer
  • A progress ring reflecting a live API value
  • Color tokens pulled directly from your design system at runtime
  • A dashboard chart that animates around real-time data
💡

Theming requires dotLottie

Themes are embedded in the .lottie file structure. Standard Lottie JSON does not support theming. Always export as dotLottie when your animation uses themes.

💡

Designed in Creator, bound by developers

Designers define which values are tokenised inside Lottie Creator. Developers bind those tokens to real data at implementation. The workflow is separated cleanly; no re-export needed when data changes.

4. Compression & asset bundling

dotLottie packages everything into a single .lottie archive using Deflate compression:

  • File sizes up to 80% to 90% smaller than equivalent Lottie JSON
  • Multiple animations bundled in one file; fewer HTTP requests, one source of truth
  • Fonts, images, themes, and state machine definitions all in one package
  • Reduced CDN costs and bandwidth at scale

Real-world results

Lottie and dotLottie are trusted by over 17 million designers and developers at 280,000+ companies worldwide. Here is what teams have achieved:

  • The Washington Post: Implemented Lottie and experience more than 80% reduction in animation file sizes, which resulted in faster load times across high-traffic pages, greater flexibility without engineering overhead and increased reader engagement.
  • Canva: Canva switched their iOS Lottie rendering pipeline to ThorVG (the dotLottie rendering engine) and achieved approximately an 80% improvement in rendering speed and a 70% reduction in peak memory usage, plus a significant reduction in rendering errors.
  • Wise: Wise leveraged dotLottie animations to create clear, bold designs to improve customer comprehension and strengthen brand consistency through features.

Get your Lottie on

Here are some helpful links if you're keen on adopting Lottie or dotLottie:

You may also like

Motion made simple

Push your animation game to the next level.

Get started - it's free!