We use essential cookies to make this site work. Optional analytics cookies help us improve your experience. Privacy Policy
CSS Cubic Bezier Generator
Free visual cubic-bezier easing generator. Craft custom CSS transition curves with live preview and ball animation. Copy production-ready CSS. Free online.
How to use
Adjust Control Points — Set the four values that define the curve, or click a preset to start fast.
Preview the Curve — The SVG curve updates in real time. Y-values outside 0–1 create overshoot/bounce.
Play the Animation — Watch a ball traverse the curve with your chosen duration to feel the easing.
Copy the CSS — Paste the generated cubic-bezier() into your transition or animation-timing-function.
Free CSS Cubic Bezier Generator
Visually craft custom cubic-bezier() easing curves for CSS transitions and animations. Drag-style numeric controls, live curve preview, ball-on-rail animation playback, and one-click copy.
Why Custom Easing Matters
The default CSS ease looks generic. Brand-defining UIs use custom easing: Material Design's standard curve, iOS's "swiftOut", or playful overshoots for game-like interfaces. A 50ms difference in timing or a different acceleration profile can make an interface feel polished vs cheap.
Popular Curves
Material Standard: cubic-bezier(0.4, 0, 0.2, 1)
Material Decelerate: cubic-bezier(0, 0, 0.2, 1)
iOS Default: cubic-bezier(0.25, 0.1, 0.25, 1)
Bouncy: cubic-bezier(0.68, -0.55, 0.27, 1.55)
Privacy
All preview, math, and code generation happen locally in your browser.
It is a mathematical curve defined by 4 control points used to describe how a value changes over time. In CSS it controls acceleration — when an animation speeds up or slows down.
Can values go above 1 or below 0?
Yes. Y-values (the 2nd and 4th numbers) can be negative or exceed 1 to create overshoot and bounce effects. X-values are clamped to 0–1.
What's better than the default 'ease'?
For UI work try cubic-bezier(0.4, 0, 0.2, 1) — Google's Material Standard. It feels snappier and more responsive than the default browser ease.
Is this only for transitions?
No. The same cubic-bezier() works with animation-timing-function, scroll-timeline easing, and Web Animations API options.