Anime.js is a free, MIT-licensed JavaScript animation engine for developers who need to animate CSS properties, SVG, DOM attributes, and plain JavaScript objects from a single lightweight API.
What it is
Anime.js is a JavaScript animation library distributed as the animejs package. It exposes an ES module API built around animate() and stagger(), and it targets four animation surfaces in one engine: CSS properties, SVG, DOM attributes, and JavaScript Objects. Support for canvas and SVG is reflected in the project's topic list alongside css, javascript, and javascript-library.
The problem it solves is fragmentation. Without a library of this kind, a developer writing a web interface must reach for separate mechanisms for CSS transitions, SVG attribute interpolation, DOM attribute changes, and animation of plain data objects. Anime.js replaces that patchwork with one API surface covering all four, so a single animate() call can drive transforms, SVG geometry, attributes, and object values together. It lives in the browser JavaScript ecosystem and is consumed as an npm dependency or via the builds produced by its own toolchain.
Key capabilities
- Imports as ES modules:
import { animate, stagger } from 'animejs'.
- Single
animate() function animates CSS properties, SVG, DOM attributes, and JavaScript Objects.
- Per-property options including
x, rotate, duration, delay, ease, loop, and alternate.
stagger() helper offsets start times across a set of targets, with from: 'center' origin control and a millisecond interval.
ease: 'inOutQuint' and other named easing strings select timing curves without custom code.
- Build pipeline emits ESM, UMD, CJS, and IIFE bundles plus type declarations.
- Repository scripts cover
dev, build, test:browser, test:node, and open:examples for local example browsing.
Who uses it and how
- Front-end developers building interface motion in the browser, animating
.square-style selectors and other DOM targets.
- Teams animating SVG and canvas content, since both appear in the project topics and SVG is a stated target surface.
- Projects that need one animation dependency instead of separate CSS, SVG, and object tweening tools.
- Developers animating JavaScript Objects directly, not only rendered elements.
- Maintainers syncing the library through npm as an
animejs dependency and running npm i before the dev and build scripts.
Getting started
Install from npm as animejs and import ES modules, then call animate() with a target selector and an options object. For local development, run npm i and then npm run dev (or npm run build for ESM, UMD, CJS, and IIFE output with type declarations). Full documentation is at animejs.com/documentation, and a v3 to v4 migration guide exists in the GitHub wiki.
How it compares
No paid products are listed in the facts, and no comparable tools are named, so this entry stands alone in this registry.
When to use it — and when not to
Anime.js is MIT-licensed and free, and the README states it is sustained by GitHub Sponsors rather than licence fees, so cost is not a barrier. Nothing in the provided facts mentions a required database, object storage, or SMTP service, so no backend operation is implied — but the README excerpt is sparse on runtime requirements and contains no stated performance benchmarks or browser support matrix, so teams with strict compatibility targets should verify against the documentation before adopting. V4 differs from V3, so existing V3 codebases must follow the migration guide rather than upgrade in place.