mrkeyoor.com_
Fri 18 Sept 16:01 UTC
Webevaluationupdated 18 Sept 2026

anime review

Anime.js is a JavaScript animation library for CSS, SVG, DOM attributes, and plain JavaScript values. Version 4 also covers timelines, scroll triggers, draggable elements, text splitting, layout transitions, and a smaller Web Animations API path.

Verdict

Our Anime.js run installed 236 packages in 11 seconds and built in 16 seconds, but it had no default test target for our harness to run. Use v4 when one project needs DOM, SVG, scroll, draggable, and timeline motion without adopting a UI framework. Keep native CSS or WAAPI for a couple of simple transitions, and plan a deliberate migration before replacing v3.

We ran it

Lab card: what happened when we ran animeScreenshot of anime (animejs.com)
Install✓ · 11s236 packages · 130 MB
Build✓ · 16s
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo297 files~42,135 lines of source · 7 MB · 0 CI workflows · tests dir

Answers from our run

Does anime build from source?

Dependencies installed in 11 seconds (236 packages), and the build succeeded in 16 seconds. We cloned commit 01b81be into a clean Debian container with 3 CPUs and no project-specific setup.

Does anime have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does anime have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use anime?

V3 applications that cannot budget for API changes: the migration guide changes imports, target syntax, easing names, loop behavior, controls, callbacks, and SVG helpers.

What are the alternatives to anime?

GSAP, Motion, mo.js. Our Anime.

Setup5/511-second install and 16-second build with no service setup
Docs5/5Detailed API pages, live examples, and a specific v3 migration guide
Community5/572,896 stars with current issue and pull-request activity
Maturity4/5Ten-year project; no default test target or visible CI workflow

Who it’s for

Front-end developers who want one framework-independent API for DOM, SVG, scroll, and timeline motion.
Teams that need both requestAnimationFrame control and a smaller Web Animations API entry point.
Designers and engineers building staged sequences, draggable interfaces, motion paths, or animated text.
Existing Anime.js users ready to complete the documented v3 to v4 migration.

Who it’s NOT for

V3 applications that cannot budget for API changes: the migration guide changes imports, target syntax, easing names, loop behavior, controls, callbacks, and SVG helpers.
Teams that require one default automated test command in CI: our checkout exposed separate browser and Node scripts, but no default test target, and our scan found 0 CI workflow files.
Products relying on overflow-container scroll animation without their own browser matrix: open issue 1189 reports that onScroll did not recognize one viewport-container setup.
Teams expecting accessibility policy to happen automatically: the docs provide media-query hooks and an accessible text-split clone, while the application still decides when motion becomes duration 0.
Pages that only need a basic opacity or transform transition and already handle it cleanly with CSS or native WAAPI.

Setup reality

Our sandbox installed 236 npm packages in 11 seconds and used 130 MB. The build succeeded in 16 seconds. There was no default tests script or target, so the test step was skipped. Npm audit found 0 known vulnerabilities across all severity levels.

Library use needs an npm install or a browser module import, with no account, token, or service. Contributors get separate browser and Node test scripts plus type-checking commands, but the package does not expose a single default test command.

V4 uses named module imports and changes several v3 behaviors, including loop counts and playback controls. Reduced-motion handling is available through scope media queries, but you must wire the product behavior and test it in your supported browsers.

V4 covers DOM, SVG, scroll, and JavaScript values

Anime.js v4.5.0 is much broader than the small animate() example in its README. It can change CSS properties, transforms, variables, HTML and SVG attributes, or fields on ordinary JavaScript objects. Timelines sequence those changes; scroll observers and draggable controls connect them to input. Separate helpers handle SVG paths, text splitting, layout transitions, springs, staggered values, and Three.js targets.

That breadth is useful when a page mixes interface motion with illustration. One timeline can coordinate a DOM panel and an SVG drawing, while a scope can tie selectors and cleanup to one component root. The library stays independent of React or any other UI framework. React users get an official usage page, but Anime.js does not make the component model part of its core API.

The WAAPI path is 3 KB; the JavaScript path is 10 KB

Anime.js documents two execution choices. Its Web Animations API entry point is listed at 3 KB gzip and is the preferred route when initial load weight matters or animation must continue during CPU and network load. The JavaScript engine is listed at 10 KB and is recommended for JavaScript, canvas, WebGL, WebGPU, or more than 500 targets. Those are library guidelines, not performance results from our lab.

The package exports focused entry points for timers, animation, timelines, draggable controls, scopes, easings, SVG, text, WAAPI, and adapters. That lets an application import the surface it uses instead of treating every feature as one global object. V4.5.0 adds an adapter mechanism and a Three.js adapter, plus seeded jitter and 3D grid support for staggered values.

What happened when we ran it

Our sandbox cloned commit 01b81be and installed 236 npm packages in 11 seconds. The dependency tree occupied 130 MB, while the checkout held 297 files, about 42,135 lines of source, and 7 MB. The build completed successfully in 16 seconds. Npm audit reported 0 critical, high, moderate, or low known vulnerabilities.

Tests were skipped because our harness found no default tests script or target. The README and package file do list test:browser and test:node, so this is an integration gap rather than proof that the project has no tests. A tests directory exists, but a standard npm test contract was absent at the measured commit. Our scan also found 0 GitHub Actions workflow files.

A clean build is still meaningful: v4 ships ES module and CommonJS paths, generated type declarations, and several focused exports. Yet the missing default test target means downstream maintainers cannot assume their normal Node package check exercises anything. Add explicit browser and Node commands to your own CI instead of treating the successful 16-second build as a substitute.

V3 code needs a deliberate migration

The v3 migration guide changes enough behavior to deserve its own branch and visual regression pass. The global anime import becomes named functions, and animation targets move into the first argument. easing becomes ease; callbacks gain an on prefix. A loop: 1 value now means one repeat and two total iterations, where v3 treated it as one iteration.

Playback semantics also move. play() always runs forward, reverse() always runs backward, and resume() continues the previous direction. SVG path and dash helpers moved under the SVG module. These are understandable V4 choices, but they touch timing and completion behavior that users can see. A compile-successful conversion can still replay a sequence twice or fire code at a different moment.

Reduced motion and split-text access need product decisions

The scope API accepts media queries, and the official example maps prefers-reduced-motion to a 0-duration animation. Split text creates an accessible clone by default from version 4.1.0. Those are good building blocks. They do not decide whether a drag interaction, scroll reveal, or looping timeline remains usable when its motion is removed.

Build that policy alongside the effect. Test keyboard order after text splitting, verify the accessible clone preserves what a screen reader should announce, and define a static end state for each decorative sequence. Reduced motion should still expose content and controls. Anime.js supplies the switch through mediaQueries; your interface supplies the correct alternate state.

One open scroll bug argues for real browser coverage

Open issue 1189 reports that onScroll did not respond when a child sat inside a 100vh overflow parent with a viewport container. The report is one CodePen case, not a general verdict on the scroll observer. It is enough to justify testing the exact nested containers, resize behavior, and mobile browsers used by your product before shipping scroll-bound navigation or content.

GitHub listed 72,896 stars and 118 combined issues and pull requests. The last push was August 21, 2026, while issue and pull-request updates continued into September. Release v4.5.0 arrived June 22 with adapter work and many fixes for seeking, keyframes, timeline overlap, scroll resizing, and frame scheduling. That pattern looks maintained, though the open queue is substantial.

Anime.js earns its place when motion is a system rather than one hover effect. The 11-second install, clean 16-second build, focused imports, and strong documentation make v4 easy to trial. Its missing default test command is the practical catch. Wire both provided test modes into CI, preserve reduced-motion outcomes, and browser-test every scroll container you depend on.

Alternatives

ProjectWhat it isPick it when
GSAPA long-running animation suite centered on timelines, plugins, and detailed sequencing.pick this instead when its plugin set or existing GSAP expertise matters more than Anime.js's compact modular API.
Motion gh↗A web animation library with JavaScript and React-facing APIs built around modern browser motion.pick this instead when React integration is the main requirement or your team already uses Motion components.
mo.jsA motion-graphics library suited to shape bursts, effects, and authored web animation.pick this instead when graphic effects and shape animation are more important than scroll and layout utilities.

What people are saying

  1. [github-trending] juliangarnier/anime
  2. [theverge] Anime reaction YouTubers are at war with copyright enforcers
  3. [hackernews] Movie Scene Map – 13,312 films, series, games, anime and manga

Sources

  1. Anime.js repository and README
  2. Anime.js V4 documentation
  3. Anime.js v3 to v4 migration guide
  4. Anime.js v4.5.0 release notes
  5. Overflow-container onScroll issue

More web reviews

element-plus · recharts · WebKit · js-cookie · ionic-framework · pixijs · the whole board →