Skip to content

Anime

JavaScript animation engine. Animate CSS, SVG, DOM attributes, and JS objects.

Not yet verified
Demo online
MIT★ 51000

Open the official app on animejs.com

This tool is hosted by its maintainers. Click below to open animejs.com in a new tab — it's their official demo.

Browse developer tools →

What's next with Anime?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is Anime?

Anime.js is an open-source JavaScript animation library designed to simplify the creation of complex animations on the web. It provides a unified API for animating CSS properties, SVG elements, DOM attributes, and JavaScript objects, enabling developers to achieve dynamic visual effects without deep expertise in animation frameworks. The tool is particularly popular among front-end developers and designers who need to create interactive user interfaces, transitions, and visual storytelling elements. It addresses the challenge of managing multiple animation parameters by offering a flexible keyframe system, intuitive API, and built-in utilities for synchronizing animations. Its lightweight architecture and MIT license make it accessible for both personal and commercial projects, while its high star count (51,000) reflects its adoption in production environments.

How it works

Anime.js is a JavaScript library that streamlines the animation of web elements by abstracting complex timing and easing calculations. It allows developers to animate properties like position, scale, and opacity with minimal code, while supporting advanced features such as scroll-triggered animations and SVG morphing. The tool is ideal for creating responsive, interactive web experiences. Its primary purpose is to eliminate the need for manual calculations of animation curves and timing functions, enabling developers to focus on design and user experience. Anime.js excels in handling multiple animation types, including CSS transforms, SVG path animations, and DOM attribute changes. It supports per-property keyframes, easing functions, and timeline sequencing, allowing precise control over animation timing. Features like the Scroll Observer API and Draggable API enable scroll-based interactions and physics-like motion, respectively.

How to use it

  1. 1Install via npm: `npm i animejs` or include the CDN script. 2. Select target elements using DOM selectors. 3. Define animation properties and durations in an object, specifying keyframes and easing functions. 4. Call `anime()` with the configuration to trigger the animation. Practical tips: Use the `stagger` utility for sequential animations, leverage the `timeline` API for multi-sequence animations, and pair the `scrollObserver` with CSS transforms for scroll-triggered effects.

What it can do

  • Utility

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/animejs
  • license: MIT — free to use
  • privacy: Opens an external demo

Limitations

  • Limited built-in physics simulation compared to dedicated physics engines
  • Requires manual setup for advanced features like custom easing functions
  • No integrated 3D animation support (requires additional libraries)
  • Learning curve for mastering advanced APIs like timeline sequencing
  • Limited documentation for niche features like SVG path morphing

Understanding the result

JavaScript animation engine. Animate CSS, SVG, DOM attributes, and JS objects.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by animejs (MIT).
Built with
animejs (https://github.com/animejs)
License
MIT
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Text
Output
Output
Open-source source & license

Built with https://github.com/animejs. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
animejs
License
MIT
View source on GitHub

Open-source project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

How does Anime.js handle CSS property animations?

Anime.js animates CSS properties by directly manipulating the DOM's computed style values. Developers define target properties and durations, and the library interpolates values between keyframes using built-in easing functions. It supports animating properties like transform, opacity, and color, with options to override default browser animations for precise control.

How does Anime.js synchronize multiple animations?

Anime.js uses a timeline API to orchestrate animations, allowing developers to define sequences, delays, and overlaps. Animations can be grouped into timelines with synchronized start/end times, and callbacks are used to trigger actions at specific milestones. The scrollObserver API also enables animations to sync with user scrolling behavior.

How do I animate SVG paths with Anime.js?

To animate SVG paths, use the `path` property in the animation configuration and define keyframes for the `d` attribute. Anime.js provides utilities for morphing shapes between paths, which can be combined with easing functions for smooth transitions. For example: `anime({ targets: '#svgPath', path: ['M0,100 C50,0 150,0 200,100'], duration: 1000 });`

How does Anime.js compare to GSAP or Three.js?

Anime.js is focused on 2D CSS/SVG animations with a lightweight API, while GSAP offers more advanced physics and 3D capabilities. Three.js is a WebGL library for 3D graphics, whereas Anime.js excels in 2D animations with minimal setup. Anime.js is ideal for simpler, CSS-centric animations, while GSAP and Three.js are better for complex, performance-critical visuals.

How do I troubleshoot animation not playing?

Common issues include incorrect target selectors, missing CSS properties in the animation configuration, or conflicts with CSS transitions. Verify the target element exists in the DOM, ensure properties like `opacity` or `transform` are included in the animation object, and check for JavaScript errors in the console. Using the `debug` mode in Anime.js can also help identify timing or property mismatches.

Spotted something wrong with Anime, or want to maintain it? See how to help.