consolelog.tools

Transition & Easing Studio

Design CSS easing the visual way: drag a cubic-bezier curve, watch a demo element play your transition in real time, and get the recommended duration with motion-design guidance. Export to a CSS transition, @keyframes, Tailwind v3 + v4, Framer Motion, or the Web Animations API.

About this ToolHow it works, benefits & use cases

Most easing pickers show you a curve and a code string. This one is a studio: you drag the two handles of a cubic-bezier curve and a real demo element plays your transition the instant you let go, so you tune motion by feel instead of by guessing numbers. Pull a handle above the top guide line and the value overshoots and settles back — the classic "back" or bouncy feel — and the live preview shows exactly that. A categorized easing library (standard, Material, iOS, and playful curves) gives you a great starting point, and editable x1/y1/x2/y2 fields stay in sync with the drag. Alongside the curve you set duration and delay with sliders and get motion-design guidance grounded in Material and Apple ranges: under 100ms feels instant, 100 to 500ms is the responsive sweet spot, and over 500ms starts to drag. You choose what the demo animates — move, scale, fade, rotate, color, or a combo — and which CSS property the output targets. Then export the result as a CSS transition, CSS @keyframes, a Tailwind v3 config plus v4 @theme, a Framer Motion transition, or a Web Animations API call. Every export includes a prefers-reduced-motion fallback, and the whole setup lives in a shareable URL.

How to Use

  1. 1Pick a starting curve from the easing library, or just drag the two handles on the curve graph.
  2. 2Watch the demo element replay your transition automatically; hit Replay or enable Loop to keep it running.
  3. 3Set duration and delay with the sliders and read the guidance card — aim for the 100 to 500ms sweet spot.
  4. 4Choose what the demo animates and which CSS property the output targets (transform, opacity, color, or custom).
  5. 5Select an output format (CSS, @keyframes, Tailwind, Framer Motion, or Web Animations API) and copy, download, or share it.

Key Benefits

  • Drag a real cubic-bezier curve and see a demo element play it instantly
  • Overshoot handles (y above 1) for back/bouncy easing, visualized live
  • Categorized easing library: standard, Material, iOS, and playful presets
  • Motion-design duration guidance grounded in Material and Apple ranges
  • Pick the demo effect (move/scale/fade/rotate/color/combo) and the target CSS property
  • Exports to CSS, @keyframes, Tailwind v3 + v4, Framer Motion, and the Web Animations API
  • Every export ships a prefers-reduced-motion fallback, and the config is shareable via URL

Common Use Cases

  • Designing a button hover or card-lift transition that feels snappy
  • Dialing in a playful overshoot for a modal or toast entrance
  • Matching Material or iOS motion guidelines on a cross-platform UI
  • Getting the exact cubic-bezier and duration for a Framer Motion transition
  • Producing a Tailwind timing-function + duration pair for a design system
Live preview
cubic-bezier(0.34, 1.56, 0.64, 1)
Easing curvedrag the handles

Easing library

Standard
Material
iOS
Playful

Best for: Pop-in with a little overshoot

Timing

In the 100-500ms sweet spot: responsive yet smooth. Most UI transitions live here.

What animates

Copy, download, share, or pipe to another tool

.box {
  transform: translateX(0);
  transition: transform 400ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.box:hover,
.box.is-active {
  transform: translateX(140px);
}

@media (prefers-reduced-motion: reduce) {
  .box { transition: none; }
}

Easing is what makes motion feel real

A cubic-bezier() curve maps elapsed time (x) to progress (y). A straight line is linear; bending the handles makes the motion accelerate or decelerate. Pulling a handle abovethe top line (y > 1) makes the value overshoot and settle back — that is the “back” / bouncy feel. Drag the two handles on the curve and the demo plays it instantly.

Pick a duration that feels responsive

Most UI transitions belong in the 100–500ms range — long enough to read the motion, short enough to feel instant. Use ease-out for things entering the screen and ease-in for things leaving. Always keep a prefers-reduced-motion fallback, which every export here includes.

Was this tool helpful?

Share Your Experience

Help others discover this tool!

Related tools