easeOutBack
It starts fast and ends slowly. It passes its end value, then settles back.
easeOutBack reaches 50% of its travel at 13% of the time and 90% at 30%. Its peak speed is 4.7x the average. It passes the end value by up to 10%.
Live demo
The blue box uses the exact linear() string below, in your browser. The grey box is linear.
easeOutBack
linear
Your system asks for reduced motion, so the boxes rest at the end of the move.
Numbers
- 50% of travel
- 13%of the time
- 90% of travel
- 30%of the time
- After 10% of time
- 40.88%of the travel is done
- Peak speed
- 4.7xtimes the average
- Overshoot
- 10%past the end value
- Undershoot
- 0%never below the start
- linear() points
- 41at a 0.002 tolerance
- cubic-bezier
- exactworst gap 0.4 points
Copy the code
animation-timing-function: linear(0, 0.1136, 0.2194, 0.3177, 0.4088, 0.4929, 0.5703, 0.6412, 0.7058, 0.7645, 0.8174, 0.8649, 0.9071, 0.9444, 0.977, 1.0051, 1.029, 1.049, 1.0653, 1.0781, 1.0877, 1.0944, 1.0984, 1.1, 1.0994, 1.0968, 1.0926, 1.087, 1.0802, 1.0725, 1.0641, 1.0554, 1.0465, 1.0376, 1.0292, 1.0213, 1.0143, 1.0084, 1.0039, 1.001, 1);animation-timing-function: cubic-bezier(0.33, 1.57, 0.67, 1);Least-squares fit to the easeOutBack curve; the worst gap is 0.4 points of travel. The linear() string is exact.
el.animate({ translate: ['0 0', '240px 0'] }, { duration: 600, easing: 'cubic-bezier(0.33, 1.57, 0.67, 1)', fill: 'both' });import { easeOutBack } from '../../core/motion/curves.js';
import { curveToLinear } from '../../core/motion/springs.js';
const easing = curveToLinear(easeOutBack, { tolerance: 0.002 }); // the linear() string above
const x = easeOutBack(u); // per-frame code, u in 0..1When to use it, and when to avoid it
Use it for
- A card or badge that arrives and overshoots its place, then settles.
- Playful UI: toggles, chips and toasts.
Avoid it for
- Text blocks and tables: the overshoot reads as a layout error.
- Opacity: a value above 1 is clamped, so the overshoot does nothing. Use pop on scale.
The nearest vawe ease
The closest of the nine vawe After Effects eases is pop, an RMS gap of 0.099 in progress. After Effects and vawe set the shape with two handles, so it can be tuned where a named curve cannot.