CSS easing and transition generator
Build a CSS transition rule from a curve preset or custom cubic-bezier points, with a text graph of the motion.
CSS easing and transition generator
Pick the properties you want to animate, set a duration and delay, and this tool writes the transition rule for you — as plain CSS or as a Tailwind config block you can drop into tailwind.config.js. It covers the common named curves (linear, ease, ease-in, ease-out, ease-in-out) plus ease-out-back, a curve that overshoots past its target before settling, which is not a native CSS keyword and always needs to be spelled out as cubic-bezier().
Below the generated rule, a text graph plots the curve's progress at each point in time — from 0 at the start of the animation to 1 at the end, with a bar for each sample so you can see the acceleration and any overshoot without opening dev tools. Switch to "Custom cubic-bezier()" and enter your own four control points to preview a curve someone handed you, or one you copied from a design tool; the first and third points must stay within 0–1 on the time axis (that's a CSS requirement), but the y values can go outside 0–1, which is exactly how bounce and back easings work.
The properties field takes a comma-separated list — transform, opacity, background-color, or a CSS custom property like --panel-width — and the tool writes one line per property so the rule stays easy to scan. Duration and delay are in milliseconds; the number of graph rows is adjustable from 2 up to 41 for a coarser or finer read of the curve.
Everything runs locally in your browser: nothing you type is sent anywhere. Copy the result, download it as a .txt file, or send the output straight back into the input to keep adjusting it.