Easing
Controls the rate of change of animations. Choosing the right easing function makes your UI feel natural and responsive.
Easing Functions
Five fundamental easing functions
ease-linearcubic-bezier(0, 0, 1, 1)
Constant speed, no acceleration or deceleration
Usage: Progress bars, loading animations
easecubic-bezier(0.25, 0.1, 0.25, 1)
Starts slow, speeds up, then slows down
Usage: General-purpose transitions (default)
ease-incubic-bezier(0.42, 0, 1, 1)
Starts slow, ends fast
Usage: Elements leaving the screen
ease-outcubic-bezier(0, 0, 0.58, 1)
Starts fast, ends slow
Usage: Elements entering the screen
ease-in-outcubic-bezier(0.42, 0, 0.58, 1)
Starts slow, ends slow
Usage: State toggles, sliders
Interactive Demo
Each box moves with a different easing (same duration).
lineareaseease-inease-outease-in-outComponent Demo
Experience the easing difference in real UI components
Dropdown
ease-out + 200ms
Modal
Open: ease-out / Close: ease-in
Toast
ease-out + 300ms
Use Cases
Recommended easing functions for common UI patterns
ease-outQuick response, smooth finish
ease-outEntering the screen
ease-inLeaving the screen
ease-in-outSmooth bidirectional motion
linearConstant-speed progress
ease-in-outNatural speed variation
| Pattern | Recommended | Reason |
|---|---|---|
| Hover Effect | ease-out | Quick response, smooth finish |
| Modal Open | ease-out | Entering the screen |
| Modal Close | ease-in | Leaving the screen |
| Slider | ease-in-out | Smooth bidirectional motion |
| Loading | linear | Constant-speed progress |
| Page Transition | ease-in-out | Natural speed variation |
Best Practices
Do
- ✓Use ease-out for enter animations
- ✓Use ease-in for exit animations
- ✓Use ease-in-out for state toggles
- ✓Use ease-out for hover effects
Don't
- ✗Use ease-in for enter animations
- ✗Use ease-out for exit animations
- ✗Use linear for everything
- ✗Overuse complex cubic-bezier values