What are Easings?
An easing function takes a linear progression value (0 to 1) and transforms it into a different progression curve. This allows you to create animations that accelerate, decelerate, bounce, or follow custom patterns.Easing Categories
Anime.js organizes easings into several categories:Built-in Easings
Pre-configured easing functions including Quad, Cubic, Sine, Expo, and more
Cubic Bezier
Create custom easing curves using control points
Spring
Physics-based spring animations with natural bouncing motion
Steps
Discrete step-based animations for frame-by-frame effects
Irregular
Randomized easing for organic, unpredictable movement
Custom Functions
Write your own easing functions for complete control
Easing Types
Most built-in easings support four timing variations:- in: Acceleration from zero velocity (slow start, fast end)
- out: Deceleration to zero velocity (fast start, slow end)
- inOut: Acceleration then deceleration (slow start and end, fast middle)
- outIn: Deceleration then acceleration (fast start and end, slow middle)
Linear Easing
The simplest easing is linear, which provides no easing at all - the animation progresses at a constant rate:You can also use
'none' as an alias for linear easing.Parameterized Easings
Some easings accept parameters to customize their behavior:Using Easing Functions
There are two ways to specify easings in Anime.js:String Syntax (Built-in only)
Function Import (All types)
Next Steps
Explore Built-in Easings
See all available pre-configured easing functions
Try Spring Physics
Create natural, physics-based animations