ToolHop.

ADVERT

Easing Function Visualizer

Design custom cubic-bezier easing curves with drag-and-drop handles, presets, live motion previews, and ready-to-copy CSS.

Current easingcubic-bezier(0.250, 0.100, 0.250, 1.000)

Curve editor

Preview duration1.6s

Presets

Start from popular easing curves

Live motion preview

Continuous animation with the current easing.

Click play to see a one-off transition.

TimelineOutput
10%
9%
25%
41%
50%
80%
75%
96%
90%
99%

CSS output

/* Apply this timing to transitions */
.element {
  transition: transform 1.6s cubic-bezier(0.250, 0.100, 0.250, 1.000);
}

/* Or use it with animations */
@keyframes easing-motion {
  from { transform: translateX(0); }
  to { transform: translateX(100%); }
}
.motion-loop {
  animation: easing-motion 1.6s cubic-bezier(0.250, 0.100, 0.250, 1.000) infinite alternate;
}

How to use this tool

  1. Drag bezier control handles or enter exact point values.
  2. Compare motion using loop and transition previews at your target duration.
  3. Copy generated CSS timing-function snippets for transitions or animations.

Design workflow

  • Start from presets, then fine-tune for product-specific motion feel.
  • Use timeline sample outputs to validate perceived acceleration.
  • Capture reusable easing tokens for consistent interaction patterns.

Motion tuning tips

  • Values outside 0-1 on Y can create overshoot and anticipation effects.
  • Lower first-handle X often makes interactions feel snappier.
  • Keep subtle eases close to the diagonal for restrained motion.

FAQ

Can I input exact cubic-bezier coordinates?
Yes. Numeric inputs let you set each control point precisely.
Why are some output values above 100%?
Curves with Y values outside 0-1 can overshoot for expressive motion effects.
Does this export a full CSS snippet?
Yes. Output includes examples for both transition and keyframe animation usage.

ADVERT

ADVERT