Design custom cubic-bezier easing curves with a draggable editor and live animation preview.

Curve editor
1 2 0 1 0 1 Time Progress

Drag the two handles to shape the easing curve.

Animation preview
Eased
Linear
Fill
1.2s
Control points
Point 1
Point 2
Presets
Value
cubic-bezier(0, 0, 1, 1)
CSS output
transition-timing-function: ; animation-timing-function: ;

Everything runs in your browser — nothing is uploaded.


About Cubic-Bézier Easing Editor

The Cubic-Bézier Easing Editor designs custom timing functions for CSS transitions and animations. Drag the two control handles on the curve canvas and the cubic-bezier(x1, y1, x2, y2) value updates live; an animation preview plays the easing next to a linear reference so you can feel the difference, with an adjustable duration and instant replay.

Ten presets cover the common vocabulary — the standard ease, ease-in, ease-out and ease-in-out, plus expressive curves like back and anticipate that overshoot past their endpoints, and material-style accelerate and decelerate ramps. Use them as-is or as starting points to drag into something of your own.

You can also type exact control-point coordinates, hit randomize for inspiration, and copy either the bare cubic-bezier() value or a ready-to-paste CSS rule. The whole editor runs in your browser.

How to use Cubic-Bézier Easing Editor

  1. Drag the two handles on the curve editor to shape the easing.
  2. Click Replay and compare the eased animation against the linear reference, adjusting the duration if needed.
  3. Try the presets — ease, back, anticipate, material and more — for a quick starting point.
  4. Fine-tune with the numeric control-point inputs for exact values.
  5. Copy the cubic-bezier() value or the complete CSS snippet.

Frequently asked questions

They are the coordinates of the two control points: x1, y1, x2, y2. The x axis is time (0 to 1) and the y axis is animation progress. Points pulled high early make the motion start fast; pulled low, it starts slow.

The y values can. A y above 1 makes the animation overshoot its target and settle back — the “back” and “anticipate” presets do exactly this. The x values must stay between 0 and 1, because time can’t run backwards.

In any CSS transition-timing-function or animation-timing-function, and in the Web Animations API’s easing option. It replaces keywords like ease-in-out with a curve tuned to your interface.

Use ease-out (fast start, gentle stop) for elements entering the screen or responding to input — it feels immediate. Use ease-in for elements leaving the screen. Ease-in-out suits movements where both ends are visible.

Yes, it is free with no account required, and it runs completely in your browser — nothing you design is uploaded.


Popular searches
cubic bezier easing editor cubic-bezier generator css css easing function generator css transition timing function animation easing curve editor custom bezier curve css ease-in-out cubic bezier
Need help?
Found an issue with this tool? Let our team know.
Report an issue

Add this free tool to your own website — copy and paste the code below.