CSS Cubic Bezier Easing Generator

Design a custom cubic-bezier() easing curve visually instead of guessing at four numbers — drag the two control points and watch a live element transition with that exact timing function, then copy the CSS for use in transition-timing-function or animation-timing-function.

How to use the CSS Cubic Bezier Easing Generator

  1. Drag the control points. Adjust the two cubic-bezier control points to shape the acceleration curve.
  2. Pick a property to preview. Choose what property animates in the live preview (e.g. transform, opacity).
  3. Set the duration. Control how long the preview transition takes.
  4. Copy the CSS. Copy the generated cubic-bezier() timing function CSS.

Frequently asked questions

What is cubic-bezier() in CSS?

cubic-bezier(x1, y1, x2, y2) defines a custom easing curve for transition-timing-function or animation-timing-function, giving precise control over acceleration and deceleration beyond the built-in ease/linear keywords.

How is cubic-bezier() different from ease-in-out?

ease-in-out is itself a preset cubic-bezier() curve; writing your own cubic-bezier() values lets you create curves with more pronounced overshoot, snap, or custom acceleration that the built-in keywords can't produce.

How do I preview a custom easing curve before using it?

This generator runs a live element transition using your exact curve values, so you can see and feel the timing before copying the CSS into your project.

What's a good easing curve for a button hover?

A quick, slightly-overshooting curve (control points past 0–1 on the Y axis) often feels responsive for hover/press interactions; a smoother ease-out-style curve suits larger UI transitions.

Can I export the easing as a Tailwind class?

Yes. Toggle Tailwind mode to get the closest matching Tailwind ease-* utility class, or an arbitrary-value class carrying the exact cubic-bezier().

Is this easing generator free?

Yes — completely free with no sign-up, and it runs entirely in your browser.