loot.tools

Cubic Bezier Generator

Design a custom CSS easing curve and copy it as a cubic-bezier() timing function. Set the four control values, start from a preset like ease-in-out or a springy ease-out-back, and watch the curve and a live animated preview update as you go. A progress table shows how far the animation has moved at each point in time, so you can tell a snappy curve from a slow start at a glance. Works for transition-timing-function and animation-timing-function alike.

Build a CSS cubic-bezier() easing curve for transitions and animations. Drag the numbers, pick a preset, or match a keyword, then copy the timing function. The x values run from 0 (start) to 1 (end); the y values can overshoot for a springy feel.

CSS value (same as "ease")
cubic-bezier(0.25, 0.1, 0.25, 1)
transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
Preview
Progress over time
TimeProgress
0%0%
20%30%
40%68%
60%89%
80%98%
100%100%

What cubic-bezier() controls

A CSS timing function maps elapsed time to animation progress. cubic-bezier(x1, y1, x2, y2) defines that mapping with two control points on a curve from start to finish. The built-in keywords (ease, ease-in, ease-out, ease-in-out) are just named cubic-bezier values, so anything you build here drops in wherever those work.

How to use it

Pick a preset to start, then tweak the four numbers. x1 and x2 stay between 0 and 1 (time can't run backwards), but y1 and y2 can go below 0 or above 1 to make the motion overshoot and settle, which is how bouncy or springy easings feel. Hit Play to watch the dot move with your curve, then copy the value or the full declaration.

Reading the curve

  • A steep section means fast motion, a flat section means slow motion
  • A curve that starts flat and ends steep is an ease-in (slow start)
  • One that overshoots the top before settling gives a back/spring effect
  • The progress table reads the same thing as numbers: at 50% of the time, how far along is the animation? Everything runs in your browser, nothing is sent anywhere