Control points
Drag the sliders. The curve and the animation update live.
Curve, animation and CSS
Tune a cubic-bezier timing function with four sliders and watch the curve draw live. Preview it on an animated dot, then copy the CSS timing value.
Drag the sliders. The curve and the animation update live.
The curve maps time on the x axis to progress on the y axis. A steep start means fast initial motion, a flat middle means a pause, and overshoot happens when the curve leaves the 0 to 1 band, which is what gives springy easings their bounce past the target.
CSS requires the x coordinates of a cubic-bezier to stay within 0 and 1 because time cannot go backward. The y values may overshoot, which is how ease-out-back effects work. This tool clamps x1 and x2 to the valid range.