Timeline Mode

Easing & Curves

16 built-in easing presets, the visual Bezier Curve Editor, and custom presets.

What is easing?

Easing controls how a value changes between two keyframes. Linear easing produces constant-rate motion. With curves, you add acceleration, deceleration, or overshoot for natural-feeling animation. Easing is set per keyframe.

Built-in easing presets

MotionKit ships with 16 easing presets organized in four groups:

Basic

PresetCurveDescription
None (Hold)Step functionValue stays at the previous keyframe until the next one, then jumps instantly. Useful for on/off states.
Linear[0, 0, 1, 1]Constant speed. No acceleration or deceleration.
Ease[0.25, 0.1, 0.25, 1]CSS default ease — gentle acceleration and deceleration.
Ease In[0.42, 0, 1, 1]Starts slow, ends fast. Like a car accelerating.
Ease Out[0, 0, 0.58, 1]Starts fast, ends slow. Like a ball rolling to a stop.
Ease In Out[0.42, 0, 0.58, 1]Slow start and end, fast middle.

Quad

PresetCurve
Quad In[0.55, 0.085, 0.68, 0.53]
Quad Out[0.25, 0.46, 0.45, 0.94]
Quad In Out[0.455, 0.03, 0.515, 0.955]

Cubic

PresetCurve
Cubic In[0.55, 0.055, 0.675, 0.19]
Cubic Out[0.215, 0.61, 0.355, 1]
Cubic In Out[0.645, 0.045, 0.355, 1]

Back (with overshoot)

PresetCurveDescription
Back In[0.6, -0.28, 0.735, 0.045]Pulls back before moving forward.
Back Out[0.175, 0.885, 0.32, 1.275]Overshoots the target then settles.
Back In Out[0.68, -0.55, 0.265, 1.55]Both pull-back and overshoot.

The Bezier Curve Editor

For full control, open the visual Bezier Curve Editor from the keyframe context menu → Custom Easing. This shows a graphical curve with two draggable control points (P1 and P2). Drag them to shape your custom cubic-bezier curve.

  • The X axis represents time (0 → 1) and the Y axis represents the interpolation progress (0 → 1).
  • You can drag control points beyond the 0–1 range on the Y axis to create overshoot effects (the value goes past the target and comes back).
  • The editor shows a real-time preview ball that demonstrates the easing as you adjust the curve.

Custom easing presets

Save your custom bezier curves as presets for reuse. In the Bezier Curve Editor, click Save Preset, give it a name, and it appears in your presets list. Custom presets are stored in your Figma user settings and persist across files and sessions.

Applying easing

  1. Select one or more keyframes.
  2. Right-click → Easing.
  3. Choose a preset or open the Bezier Curve Editor.
  4. The easing is applied to all selected keyframes at once.

Easing is applied per-property, per-keyframe — meaning different properties on the same layer can have different easing curves, and each keyframe within a property track can have its own easing.