Easing Editor

cubic-bezier and linear() curves with draggable handles and a live ball preview

cubic-bezier(0.25, 0.10, 0.25, 1.00)
Preview0.6s
custom
linear
cubic-bezier(0.25, 0.10, 0.25, 1.00)

About this tool

What easing types can I design?
Cubic-bezier (CSS transition-timing-function), spring (for JavaScript animation libraries that accept stiffness/damping/mass), and linear() (the new CSS easing function for multi-stop custom curves).
How do I use the output in CSS?
Copy the generated value directly into a transition or animation-timing-function property. Example: transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1).
Can I preview the easing on a real element?
Yes. The editor shows a live animation preview on a box that plays back every time you change a handle — no guessing required.
What spring easing output does it give?
For Framer Motion: { type: 'spring', stiffness: X, damping: Y, mass: Z }. For GSAP: { ease: 'elastic.out(X, Y)' }. Output adapts to the library you select.
About

Drag the blue and red dots on the cubic-bezier canvas to shape the curve. Y values can overshoot 0..1 for back / bounce effects.

linear() mode unlocks multi-stop easing — great for spring motion in modern browsers without JS.