JavaScript animation engine
J

JavaScript animation engine

JavaScript animation engine

JavaScript
70,560 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Anime.js: The Lightweight Powerhouse for JavaScript Animations

Let's be honest, animating things on the web can be a chore. You start with some CSS transitions, then you need something more complex, and suddenly you're down a rabbit hole of timing functions and requestAnimationFrame. What if there was a library that made complex animations simple, without the heavyweight footprint? That's where Anime.js comes in.

It's a lightweight JavaScript animation engine that feels like a secret weapon. It gives you a ton of control with a surprisingly minimal API, letting you animate CSS properties, SVG, DOM attributes, and even JavaScript objects all in one unified way.

What It Does

In a nutshell, Anime.js is a flexible yet simple animation library. You give it a target (like a CSS selector, an array of DOM nodes, or a JavaScript object), define the properties you want to animate, and set your parameters like duration, easing, and direction. It handles the rest with smooth, high-performance animations.

It's not just for moving divs left and right. You can animate transforms, colors, dimensions, SVG path drawing (stroke-dashoffset), morphing, and even custom numeric object values.

Why It's Cool

The beauty of Anime.js is in its design philosophy. It's powerful without being bloated. Here are a few things that make it stand out:

  • Single, Unified API: Whether you're animating CSS, SVG, or JS objects, you use the same anime({}) function. This consistency is a huge win for developer experience.
  • Built-in Staggering: Creating sequential or overlapping animations for a group of elements (think a list fading in one by one) is trivial with its built-in staggering system. No need to manually set timeouts or delays with loops.
  • Timeline Control: For complex sequences, Anime.js provides a robust timeline system. You can chain animations, run them in parallel, or control the entire sequence with play, pause, reverse, and seek functions.
  • Lightweight: It packs all this functionality into a file size that won't bog down your page, making it a great choice for performance-conscious projects.

It's the kind of library that feels intuitive. You can often guess the property name you need, and it just works.

How to Try It

Getting started is incredibly straightforward. You can load it via a CDN, install it via npm, or just download the file.

Using a CDN (quickest way to play):

<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/anime.min.js"></script>

Did you like this issue?

Join our weekly newsletter

Related Projects

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Dec 8, 2025