Sometimes, an animation needs more than just smooth movement or a playful bounce.

It needs to stretch, overshoot, and snap back dramatically like a rubber band.

Imagine pulling a slingshot. You stretch it… and then let go. It flies forward a bit too far, then bounces back and forth before it stops.

That’s the feeling elastic easing creates. It simulates the behavior of a spring or rubber band.

When something moves with elastic easing, it overshoots the target dramatically and then snaps back with diminishing oscillations before finally settling. This creates a feeling of tension and release.

Similar to other easing you’ve learned so far, Elastic Easing is also available in three variations:

ease: "elastic.in" // stretches in, like it’s charging up
ease: "elastic.out" // stretches past the target, then settles
ease: "elastic.inOut" // elastic on both ends

Elastic easing:

Graph animation may not be that clear, so go ahead and test elastic easings on a circle.

  • Elastic easing: