The Real Numbers Behind CSS ease-in-out
Design a custom CSS cubic-bezier() timing function by dragging two control points, preview it live against a linear reference, then copy the ready value.
Result
This page opens the cubic-bezier generator with x1=0.42, y1=0, x2=0.58, y2=1 already loaded — the exact control points the CSS ease-in-out keyword expands to. Drag either handle, or edit the numbers directly, and the curve, the animation preview and the copyable string all update immediately.
ease-in-out is one of the five built-in CSS timing keywords, and it's popular precisely because this curve accelerates gently out of the start, holds a fairly even pace through the middle, and eases back down before the end — a shape that reads as natural for most UI motion. Seeing it as explicit control points instead of a keyword name makes it obvious why: y1 sits near 0 and y2 sits near 1, both close to their matching x, so there is no overshoot in either direction.
Use these four numbers as a starting point rather than the keyword itself whenever you need to nudge the feel slightly — pull x1 down for a snappier start, or push y2 above 1 to turn this same shape into a gentle overshoot. Every change updates the preview and the copyable cubic-bezier() line instantly.