1. Home
  2. CSS Tools
  3. CSS Cubic Bezier Generator

CSS Cubic Bezier Generator

Create custom cubic-bezier easing curves by dragging control points, compare them with standard easings, and preview the animation.

CSS code
Your curve
linear

Runs locally in your browser. Your files and data are never uploaded or stored.

About the CSS Cubic Bezier Generator

Easing makes animations feel natural. Objects in the real world speed up and slow down instead of moving at a constant speed, and CSS lets you describe that acceleration with a cubic-bezier() timing function. The CSS Cubic Bezier Generator gives you a visual graph where you can drag the two control points to shape the curve.

The horizontal axis represents time and the vertical axis represents progress. Pulling a point above the top or below the bottom creates overshoot and anticipation effects, like the popular "back" easing. Compare your curve side by side with a linear animation, start from presets such as ease-in-out or expo out, and copy the code for transitions or keyframe animations.

How to use the CSS Cubic Bezier Generator

  1. Pick a preset or start with the default ease curve.
  2. Drag the pink and blue control points on the graph.
  3. Click Play animation to compare your curve with linear motion.
  4. Copy the cubic-bezier CSS value.

Frequently asked questions

What do the four numbers mean?

They are the x and y coordinates of the two control points: cubic-bezier(x1, y1, x2, y2). The start (0,0) and end (1,1) points are fixed.

Why must x values be between 0 and 1?

The x axis represents time, which cannot go backwards, so CSS only allows x values from 0 to 1. The y values can go outside this range to create overshoot.

Which easing is best for UI?

Ease-out curves feel responsive for elements entering the screen, while ease-in suits elements leaving. Keep durations between 150 and 400 milliseconds for most interface motion.