Lottie Labs

Lottie animations are easy to build and implement on the web, and can be tied to interactions like scroll and cursor movement. I wanted to explore the potential fun of working with lottie technology, and to better understand its limitations.

What is Lottie?

Lottie is an open-source animation file format. It was developed by the design team at Airbnb and launched in 2017 to make it easier for designers to add animations to their apps without requiring extensive coding.

The animations are vector based, so they preserve quality across screen sizes, and they’re exported as JSON, so file sizes are small, easy to manipulate and integrate with minimal impact on performance.

Creating, exporting and applying

The animations on this page were created using Cavalry, exported as JSON files, and directly uploaded to and manipulated in Webflow. There are plugins (Bodymovin) to export After Effects files as JSON and you can even make simple lottie animations from Figma using plugins. The controls and tools you can actually use within these files is limited, and often things don’t turn out as hoped or expected. This project involved a lot of trouble shooting, but as you learn about what works and what to avoid, you can move more quickly.

Other convenient integration methods I haven’t explored include using LottieFiles’ own web player, embedding via React or Vue components, or incorporating them directly into mobile apps through iOS and Android libraries.

Some limitations

  • While motion in web can enhance engagement, these experiences are often inaccessable.
  • Performance may be inconsistent across devices, browsers and other platforms.
  • Interactive limitations like mouse-driven animations fail on touch devices.

Take-aways

Lottie’s great! I’ve used lottie animations a lot since these experiments. You’ll find some nice examples on some of the other pages on this site:

Lottie falls short, however, if you want to really tie an interaction to mouse position (x and y) or more granular scroll control where you might be better off looking to a library like GSAP instead.

Read more
Show less

move the cursor

We can map the lottie playback to the mouse x or y position in the viewport. Given the one-dimensional nature of the timeline, we have to pick just one axis.

Layering lottie

When files get too large, playback can be jumpy. If the animation can be separated into layers, it helps to split it into smaller files and overlay them.

Stick and Scroll

Driving the playback with scroll  works well with sticky element where the height of the parent container dictates the length of the playback.
big button

Back to Back Lottie

Here I'm stitching a series of lottie file playbacks together and triggering them with different actions; hover-in, hover-out and click.

Scroll Driven Impact

Tying the playback to the user interactions can bring graphics to life and makes the user an active participant in the animation.

APplication

Lottie's limited, but it feels like there's a lot we can do to create more engaging experiences, and introduce that element of delight to a brand. For example, I'm sure there's some sort of a progress bar idea in here somewhere.

It's fun

At the end of the day, it's a fun technology to play with. I think as long as you're playing there's a good chance you'll stumble across something nice.

More Projects

Black and white diagonal stripe pattern repeating the word 'IZIZI' across the thumbnail.
IZIZI
Large white letters spelling 'FAILURES' diagonally across a black background.
Collecting Failures
Abstract motion graphic thumbnail showing geometric shapes and patterns used for Demo 2025.
Demo 2025
more info

Sorry! This page was not designed for your device.

I hope you'll find the time to come back on desktop because it was a lot of fun to build.

In the meantime you might enjoy the IZIZI case study or Collecting Failures.

Let me in...