anime

Developer Tools

JavaScript animation engine

Latest v4.5.0 · by juliangarnierWebsitejuliangarnier/animeRSS

Release activity

Release activity — 10 releases across 9 days since Jan 20, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Jan 20, 2026. Older weeks are hidden at this screen width.
JunJulAug
SundayNo releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026No releases on Aug 23, 2026
MondayNo releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 20261 release on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026No releases on Aug 17, 2026No releases on Aug 24, 2026
TuesdayNo releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026No releases on Aug 18, 2026No releases on Aug 25, 2026
WednesdayNo releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026No releases on Aug 19, 2026No releases on Aug 26, 2026
ThursdayNo releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026No releases on Aug 20, 2026No releases on Aug 27, 2026
FridayNo releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026No releases on Aug 14, 2026No releases on Aug 21, 2026
SaturdayNo releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026No releases on Aug 22, 2026

10 releases since Jan 20, 2026, busiest day 2

Changelog

v4.5.0

Latest
Added 5
  • New registerAdapter() API to extend animate() and utils.set() to non-DOM targets
  • New built-in three.js adapter imported as a side-effect from animejs/adapters/three to animate Object3D, materials, lights, cameras, audio nodes, UniformNode (TSL) and instanced meshes
  • Auto-grid stagger mode now supports 3D layouts using {x, y, z} coordinates or an explicit grid: [columns, rows, depth] triplet
  • New jitter parameter to add a random offset to staggered values, either a single number or a [start, end] range
  • New seed parameter to make jitter and from: 'random' reproducible
Changed 2
  • The from parameter now accepts [x, y, z] normalized coordinates and axis now accepts 'z' for 3D grid origins
  • Color animations now blend RGB channels in pseudo-linear space for smoother, more even transitions
Fixed 13
  • Fix a flicker that could appear randomly between iterations of reversed loops
  • Fix a flicker that could appear randomly on alternate loops when using non-integer duration values
  • Fix a backward seek leaving a timeline child stuck at its end value when all its properties share the same delay
  • Fix a timeline child whose delay is longer than its duration overwriting a later sibling's value on a forward seek
  • Fix stale values when seeking a timeline whose children animate the same property through delayed tweens, most visible with staggered jitter delays
  • Fix an implicit from value resolving to a stale value when an overridden tween sits earlier in the chain

From anime

New Features
  • Adapters
  • Three.js adapter
    • New built-in three.js adapter, imported as a side-effect from animejs/adapters/three, to animate Object3D, materials, lights, cameras, audio nodes, UniformNode (TSL) and instanced meshes (learn more: https://animejs.com/documentation/adapters/three)
  • Stagger
    • Auto-grid mode now supports 3D layouts, using {x, y, z} coordinates or an explicit grid: [columns, rows, depth] triplet
    • The from parameter now accepts [x, y, z] normalized coordinates and axis now accepts 'z' for 3D grid origins
    • New jitter parameter to add a random offset to staggered values, either a single number or a [start, end] range
    • New seed parameter to make jitter and from: 'random' reproducible
Bug Fixes and improvements
  • Color
    • Color animations now blend RGB channels in pseudo-linear space for smoother, more even transitions (intermediate colors differ slightly from previous versions)
  • Render
    • Fix a flicker that could appear randomly between iterations of reversed loops
    • Fix a flicker that could appear randomly on alternate loops when using non-integer duration values
  • Timeline
    • Fix a backward seek leaving a timeline child stuck at its end value when all its properties share the same delay
    • Fix a timeline child whose delay is longer than its duration overwriting a later sibling's value on a forward seek
    • Fix stale values when seeking a timeline whose children animate the same property through delayed tweens, most visible with staggered jitter delays
    • Fix an implicit from value resolving to a stale value when an overridden tween sits earlier in the chain
    • Improve performance when building large timelines with many overlapping .add() calls on the same property, and fix a case where such a timeline could cancel itself
  • Keyframes
    • Fix a floating point precision issue producing incorrect intermediate values in keyframe arrays
    • Fix scrubbing backward past the start of a keyframe sequence not restoring the first keyframe's from value
    • Fix scrubbing forward past the end of a keyframe sequence leaving the target stuck on a previous keyframe's value
    • Fix sequential keyframes occasionally detected as overlapping because of floating point drift, leaving the target stuck on the wrong value when scrubbing
  • Animation
    • Fix function-based and CSS variable from values in object form ({ from, to }) not re-resolving on refresh()
    • Fix stretch() not correctly scaling animations that use keyframes
  • Scroll
    • Fix a getBoundingClientRect crash that could happen when a scroll container resized before its target was ready
  • Engine
    • More accurate frame scheduling that no longer drops frames arriving slightly early because of requestAnimationFrame jitter
    • Faster engine.speed and engine.timeUnit updates that skip unnecessary work when the value does not actually change
View originalPermalink
How v4.5.0 went

v4.4.1

Fixed 1
  • Fix a regression in timeline .call() not triggering properly in some cases

From anime

Bug fix
  • Fix a regression introduced in 4.4.0 with timeline .call() not triggering properly in some cases.
View originalPermalink
How v4.4.1 went

v4.4.0

Added 10
  • A fourth argument prevTween is now passed to function-based value callbacks, providing access to the previous sibling tween's computed end value
  • New scrambleText() function-based value to animate text with a character-by-character scramble/reveal effect
  • New grid: true auto-grid mode that computes a 2D layout from element positions or JS object coordinates
  • The from parameter now accepts [x, y] normalized coordinate arrays (0 to 1) for precise grid origin control
  • New priority parameter to control execution order within the engine tick loop
  • Adjacent axis properties are now grouped into CSS shorthand for shorter transform strings
Changed 7
  • Transforms now follow a fixed render order (perspective > translate > rotate > scale > skew) regardless of the order they are defined in animation parameters
  • The third argument of function-based value callbacks changed from total (Number) to targets (Array)
  • The stagger callback signature changed so the third argument is now the targets array instead of the total count
  • Render loop performance improved by extracting inline closures in tick() and render() to module-scope functions
  • Tween composition is now resolved before computing to/from/duration/delay values
  • Type annotation for splitText() and TextSplitter target parameter widened from HTMLElement to Element
  • Each tween now pre-computes and stores its end value at construction time
Fixed 7
  • revert() now restores object properties and DOM attributes to their original pre-animation values, in addition to CSS styles and transforms
  • Fix getOriginalAnimatableValue not storing the original inline value for object properties and DOM attributes
  • Fix chaining in keyframe arrays and timelines producing incorrect intermediate shapes in morphTo
  • Fix accessing non-existent chainable methods throwing an error instead of returning undefined
  • Fix splitText addEffect() returning undefined instead of this when the effect argument is not a function
  • Fix scroll-controlled layout animations not properly calling onComplete and onPause callbacks
  • Fix _startTime not being preserved when reconstructing tracked animations, causing timing jumps on effect refresh
Removed 2
  • matrix and matrix3d can no longer be animated directly
  • DevTools integration (AnimeJSDevTools) removed

From anime

Breaking Changes
  • Transforms
    • Transforms now follow a fixed render order (perspective > translate > rotate > scale > skew), regardless of the order they are defined in animation parameters:
      // Before: scale rendered first because it was defined first
      animate(el, { scale: 2, translateX: 100 }) // → scale(2) translateX(100px)
      // After: order is always fixed
      animate(el, { scale: 2, translateX: 100 }) // → translate(100px, 0px) scale(2)
      
    • matrix and matrix3d can no longer be animated directly (they are still preserved when read from inline styles and can be set using transform: 'matrix(...)')
  • Function-based values
    • The third argument of function-based value callbacks changed from total (Number) to targets (Array). To migrate, replace total with targets.length:
      // Before
      translateX: (target, index, total) => total * 10
      // After
      translateX: (target, index, targets) => targets.length * 10
      
    • A fourth argument prevTween is now passed to function-based value callbacks, providing access to the previous sibling tween's computed end value for the same target and property.
  • Stagger
    • The stagger callback signature changed to match function-based values: the third argument is now the targets array instead of the total count:
      // Before
      delay: stagger(100, { use: (target, i, total) => total - i })
      // After
      delay: stagger(100, { use: (target, i, targets) => targets.length - i })
      
New Features
  • scrambleText
  • Stagger
    • New grid: true auto-grid mode that computes a 2D layout from element positions or JS object coordinates ({x, y}) instead of requiring explicit [columns, rows] dimensions
    • The from parameter now accepts [x, y] normalized coordinate arrays (0 to 1) for precise grid origin control
  • Timer / Animation / Timeline
    • New priority parameter to control execution order within the engine tick loop
  • Transforms
    • Adjacent axis properties are now grouped into CSS shorthand for shorter transform strings:
      • translateX + translateYtranslate(x, y)
      • translateX + translateY + translateZtranslate3d(x, y, z)
      • scaleX + scaleYscale(x, y)
      • scaleX + scaleY + scaleZscale3d(x, y, z)
    • Inline transform parsing rewritten to properly handle multi-argument CSS functions (translate(x, y), scale3d(x, y, z)) and nested calc() expressions
  • Layout
    • createLayout() now accepts an id parameter
  • Exports
    • globals is now exported from the main module entry point
    • forEachChildren, addChild, removeChild helpers are now exported from utils
Bug Fixes and improvements
  • JS Animation
    • revert() now restores object properties and DOM attributes to their original pre-animation values, in addition to CSS styles and transforms (previously only CSS styles and transforms were reverted, leaving animated object props and attributes at their last animated value). The public cleanInlineStyles() utility keeps its original behavior and only clears inline styles and transforms.
    • Fix getOriginalAnimatableValue not storing the original inline value for object properties and DOM attributes, preventing proper revert
  • morphTo
    • Fix chaining in keyframe arrays and timelines producing incorrect intermediate shapes
  • Chainable utils
    • Fix accessing non-existent chainable methods throwing an error instead of returning undefined
  • splitText
    • Fix addEffect() returning undefined instead of this when the effect argument is not a function
  • Layout
    • Fix scroll-controlled layout animations not properly calling onComplete and onPause callbacks
  • keepTime
    • Fix _startTime not being preserved when reconstructing tracked animations, causing timing jumps on effect refresh
Changes
  • Engine
    • DevTools integration (AnimeJSDevTools) removed
    • Render loop performance: inline closures in tick() and render() extracted to module-scope functions to avoid allocation every frame
    • Tween composition is now resolved before computing to/from/duration/delay values, so the previous sibling tween is available to function-based value callbacks
  • splitText
    • Type annotation for splitText() and TextSplitter target parameter widened from HTMLElement to Element
  • Tween value chaining
    • Each tween now pre-computes and stores its end value at construction time
    • Enables function-based values like morphTo and scrambleText to read the previous tween's end value when used in keyframe arrays or timelines
  • morphTo
    • Now properly chains in keyframe arrays and timelines by reading the previous tween's computed end value instead of mutating the target element with a Symbol
  • Editor integration (👀)
    • New globals.editor hook system allowing an external editor to intercept animate() and createTimeline() calls
View originalPermalink
How v4.4.0 went

v4.3.6

Fixed 1
  • Fix auto layout not properly synced with onScroll, allowing controlling layout animations with sync option

From anime

Bug Fixes
  • Auto Layout
    • Fix auto layout not properly synced with onScroll, allowing controlling layout animations like this:
layout.animate({
  autoplay: onScroll({
    sync: true,
  })
});
View originalPermalink
How v4.3.6 went

v4.3.5

Fixed 2
  • Fix a regression introduced in v4.3.2 that prevented inline elements from being animated in some cases
  • Fix a regression introduced in v4.3.0 that prevented CSS computed style of background from being correctly interpreted as a color value

From anime

Bug Fixes
  • Auto Layout
    • Fix a regression introduced in v4.3.2 that prevented inline element to be animated in some cases.
  • Animation
    • Fix a regression introduced in v4.3.0 that prevented CSS computed style of background to be correctly interpreted as a color value (#1136).
View originalPermalink
How v4.3.5 went

v4.3.4

Changed 1
  • Synced WAAPI animations now automatically have their persist property set to true
Fixed 1
  • Fix comment syntax potentially causing an error in onScroll

From anime

Improvements
  • WAAPI / Timeline
    • Synced WAAPI animations now automatically have their persist property set to true (#1121)
Bug Fixes
  • onScroll
    • Fix comment syntax potentially causing an error (#1124)
View originalPermalink
How v4.3.4 went

v4.3.3

Added 2
  • Add onResize callback that triggers when the scroll container refreshes due to a resize event
  • Add missing tl.backward / anim.backward / time.backward property documentation
Changed 2
  • Unit conversion (e.g., svh to rem) is recalculated on refresh
  • Add an opacity animation preview to the easing functions editor
Fixed 1
  • Function-based "from" values now refresh correctly when calling .refresh()

From anime

Improvements
  • Refresh

    • Function-based "from" values now refresh correctly when calling .refresh()
    • Unit conversion (e.g., svh to rem) is recalculated on refresh
  • onScroll

    • Add onResize callback that triggers when the scroll container refreshes due to a resize event
Documentation
  • Playback

    • Add missing tl.backward / anim.backward / time.backward property doc
  • Easing

    • Add an opacity animation preview to the easing functions editor
View originalPermalink
How v4.3.3 went

v4.3.2

Fixed 1
  • Fix an issue where inline tags, like span or strong weren't detected when surrounded by comments

From anime

Bug Fixes
  • Layout
    • Fix an issue where inline tags, like or weren't detected when surrounded by comments (again)
View originalPermalink
How v4.3.2 went

v4.3.1

Fixed 1
  • Fix an issue where inline tags, like span or strong weren't detected when surrounded by comments

From anime

Bug Fixes
  • Layout
    • Fix an issue where inline tags, like or weren't detected when surrounded by comments
View originalPermalink
How v4.3.1 went

v4.3.0

Added 4
  • New createLayout() method to easily animate between two layout states
  • The ease parameter now accepts function-based values like duration and delay properties
  • Add composition parameter to disable animation composition when using .add() to improve performance
  • Add muteCallbacks parameter to .complete(muteCallbacks) to complete the animation without triggering callbacks
Changed 1
  • Increase max fps to 240 (previously 120)
Fixed 7
  • Fix an issue where complex values containing a color (e.g., box-shadow) would be incorrectly handled as color values instead of complex string values
  • Fix animations not being properly removed from document.timeline in some cases
  • Fix spring parameters not properly setting the duration
  • Fix spring easing being ignored when defined in the defaults parameter
  • Fix .call() and .sync() incorrectly inheriting delay from defaults parameters
  • Fix a bug where the first word of the second line could be incorrectly added to the first line
  • Fix unnecessary empty spaces not being properly removed from lines

From anime

New Features
  • AutoLayout
  • Easings
    • The ease parameter now accepts function-based values (like duration and delay properties)
  • Timeline
    • Add composition parameter to disable animation composition when using .add() and greatly improve performance
Bug Fixes
  • JS Animation
    • Fix an issue where complex values containing a color (e.g., box-shadow) would be incorrectly handled as color values instead of complex string values
  • WAAPI
    • Fix animations not being properly removed from document.timeline in some cases
  • Draggable
    • Fix spring parameters not properly setting the duration
  • Timeline
    • Fix spring easing being ignored when defined in the defaults parameter
    • Fix .call() and .sync() incorrectly inheriting delay from defaults parameters
  • splitText
    • Fix a bug where the first word of the second line could be incorrectly added to the first line
    • Fix unnecessary empty spaces not being properly removed from lines
Changes
  • Engine
    • Increase max fps to 240 (previously 120)
    • Animation / Timer / Timeline
    • Add muteCallbacks parameter to .complete(muteCallbacks) to complete the animation without triggering callbacks
View originalPermalink
How v4.3.0 went
View all

Discussion

If you publish anime, you can claim this product by proving you administer its repository.