# Spring Curve
<Image src="https://assets.docs.lottiefiles.com/static/b39bc2daa3-640.webp" alt="Spring Curve plugin" caption="Spring Curve plugin" zoom variant="default" srcSet="https://assets.docs.lottiefiles.com/static/b39bc2daa3-640.webp 640w, https://assets.docs.lottiefiles.com/static/b39bc2daa3-1024.webp 1024w, https://assets.docs.lottiefiles.com/static/b39bc2daa3-1920.webp 1920w" width="3000" height="1671" loading="lazy" data-blur="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAACXBIWXMAACE4AAAhOAFFljFgAAAAXUlEQVR4nGPwiUj+7xOR8t8rLPG/rqnVf01DMzDbJzLlP0iOAUT4Rqb89wpN+K+hb/RfXc/ov1dYAlgMrgCEvcKT/qsbGP9X0dIDm4BFQeJ/bf+A/xqe3hAFERAFAJKjPS+IjOKIAAAAAElFTkSuQmCC" />

Spring Curve replaces standard linear or bezier easing with physics-based spring motion. Tune duration and bounce to create animations that feel natural and responsive.

## What it helps you do

<List type="bullet">
  <ListItem>Create organic, bouncy easing without manually shaping bezier curves</ListItem>
  <ListItem>Make UI micro-interactions like buttons, toggles, and modals feel alive</ListItem>
  <ListItem>Dial in the exact behavior — snappy and tight or loose and overshooting</ListItem>
</List>

## How it works

1. Select a keyframe or animated property in the timeline
2. Open the **Spring Curve** plugin from the left sidebar
3. Adjust duration and bounce until the preview matches the motion you want
4. Apply the curve to replace the existing easing

## Parameters

<List type="bullet">
  <ListItem>**Duration** — how long the animation takes to settle into its final position</ListItem>

  <ListItem>
    **Bounce** — how much the spring overshoots and oscillates before resting; higher values produce more bounce
  </ListItem>
</List>

## Presets

Start from a preset and tweak from there, or apply one as-is.

<List type="bullet">
  <ListItem>**Smooth** — gentle, even motion with no overshoot</ListItem>
  <ListItem>**Snappy** — quick to settle with a slight tactile finish</ListItem>
  <ListItem>**Bouncy** — pronounced overshoot that rebounds before resting</ListItem>
  <ListItem>**Elastic** — stretchy motion with multiple oscillations</ListItem>
  <ListItem>**Jello** — wobbly, jiggly settle reminiscent of soft material</ListItem>
  <ListItem>**Pop** — fast burst into place with a small kick at the end</ListItem>
  <ListItem>**Gentle** — soft, slow easing for subtle transitions</ListItem>
  <ListItem>**Swift** — fast, direct motion with minimal bounce</ListItem>
  <ListItem>**Heavy** — slow, weighty motion as if moving a dense object</ListItem>
  <ListItem>**Overshoot** — passes the target before easing back into position</ListItem>
  <ListItem>**Wobble** — loose oscillation around the target before settling</ListItem>
  <ListItem>**Crisp** — tight, controlled motion that locks in cleanly</ListItem>
  <ListItem>**Fluid** — flowing, continuous motion with natural follow-through</ListItem>
</List>
