# Motion default spring: CSS linear() spring, stiffness 100 damping 10

> Motion default spring as a CSS linear() spring: stiffness 100, damping 10, settles in 1.275 s, overshoots 16.3%. Copy the CSS and the Web Animations line.

Canonical: https://vawe.dev/springs/motion-default
Last updated: 2026-11-04

Stiffness 100, damping 10 and mass 1 give a damping ratio of 0.5, so the spring is underdamped. It settles to within 0.1% in 1.275 s. It passes the end value by up to 16.3% at 0.363 s and crosses it 3 times.

Motion uses it for a spring you declare with type “spring” and no other numbers.

| Measure | Value |
| --- | --- |
| Stiffness | 100 |
| Damping | 10 |
| Mass | 1 |
| Damping ratio | 0.5 (underdamped) |
| Settle time | 1.275 s |
| Overshoot | 16.3% |
| Crosses the end value | 3 |
| 50% of travel at | 0.13 s |
| 90% of travel at | 0.213 s |

## CSS linear()

```css
transition: translate 1275ms linear(0, 0.0054, 0.021, 0.0454, 0.0776, 0.1164, 0.1608, 0.2097, 0.2621, 0.3171, 0.3739, 0.4316, 0.4896, 0.5473, 0.6039, 0.6591, 0.7124, 0.7634, 0.8117, 0.8572, 0.8997, 0.9389, 0.9749, 1.0075, 1.0367, 1.0626, 1.0852, 1.1046, 1.1209, 1.1343, 1.145, 1.1529, 1.1585, 1.1618, 1.163, 1.1624, 1.1601, 1.1563, 1.1512, 1.145, 1.1379, 1.13, 1.1215, 1.1126, 1.1034, 1.094, 1.0846, 1.0751, 1.0659, 1.0568, 1.0481, 1.0397, 1.0318, 1.0243, 1.0173, 1.0108, 1.0049, 0.9995, 0.9947, 0.9904, 0.9866, 0.9834, 0.9806, 0.9784, 0.9766, 0.9752, 0.9743, 0.9737, 0.9734, 0.9735, 0.9738, 0.9744, 0.9752, 0.9762, 0.9773, 0.9786, 0.98, 0.9814, 0.9829, 0.9845, 0.986, 0.9875, 0.989, 0.9905, 0.992, 0.9933, 0.9946, 0.9959, 0.997, 0.9981, 0.9991, 1, 1.0008, 1.0015, 1.0021, 1.0026, 1.0031, 1.0035, 1.0038, 1.004, 1.0042, 1.0043, 1.0043, 1.0043, 1.0043, 1.0042, 1.0041, 1.0039, 1.0037, 1.0035, 1.0033, 1.0031, 1.0028, 1.0026, 1.0023, 1.0021, 1.0018, 1.0016, 1.0013, 1.0011, 1);
```

## Web Animations

```js
el.animate({ translate: ['0 0', '240px 0'] }, { duration: 1275, easing: 'linear(0, 0.0054, 0.021, 0.0454, 0.0776, 0.1164, 0.1608, 0.2097, 0.2621, 0.3171, 0.3739, 0.4316, 0.4896, 0.5473, 0.6039, 0.6591, 0.7124, 0.7634, 0.8117, 0.8572, 0.8997, 0.9389, 0.9749, 1.0075, 1.0367, 1.0626, 1.0852, 1.1046, 1.1209, 1.1343, 1.145, 1.1529, 1.1585, 1.1618, 1.163, 1.1624, 1.1601, 1.1563, 1.1512, 1.145, 1.1379, 1.13, 1.1215, 1.1126, 1.1034, 1.094, 1.0846, 1.0751, 1.0659, 1.0568, 1.0481, 1.0397, 1.0318, 1.0243, 1.0173, 1.0108, 1.0049, 0.9995, 0.9947, 0.9904, 0.9866, 0.9834, 0.9806, 0.9784, 0.9766, 0.9752, 0.9743, 0.9737, 0.9734, 0.9735, 0.9738, 0.9744, 0.9752, 0.9762, 0.9773, 0.9786, 0.98, 0.9814, 0.9829, 0.9845, 0.986, 0.9875, 0.989, 0.9905, 0.992, 0.9933, 0.9946, 0.9959, 0.997, 0.9981, 0.9991, 1, 1.0008, 1.0015, 1.0021, 1.0026, 1.0031, 1.0035, 1.0038, 1.004, 1.0042, 1.0043, 1.0043, 1.0043, 1.0043, 1.0042, 1.0041, 1.0039, 1.0037, 1.0035, 1.0033, 1.0031, 1.0028, 1.0026, 1.0023, 1.0021, 1.0018, 1.0016, 1.0013, 1.0011, 1)', fill: 'both' });
```

## In a vawe page

```js
import { spring, springDuration, springLinear } from '../../core/motion/springs.js';

const k = 100, d = 10;

// per-frame code (window.seek, vawe.onFrame): t is seconds since the move starts
const x = 240 * spring(t, k, d);

// CSS and Web Animations: 1275 ms, the linear() string above
el.animate(
  { translate: ['0 0', '240px 0'] },
  { duration: springDuration(k, d) * 1000, easing: springLinear(k, d), fill: 'both' },
);
```

## Source of the numbers

transition: { type: "spring" } with no other option: stiffness 100, damping 10, mass 1. motion-dom 14.9.0 (motion and framer-motion 14.9.0), defaultStiffness, defaultDamping, defaultMass in animation/generators/spring.ts (https://github.com/motiondivision/motion/blob/main/packages/motion-dom/src/animation/generators/spring.ts). Conversion: Stiffness and damping are used as they are, with mass 1.

## Related

- [react-spring gentle](https://vawe.dev/springs/react-spring-gentle)
- [SwiftUI .bouncy](https://vawe.dev/springs/swiftui-bouncy)
- [Material 3 Expressive slow spatial](https://vawe.dev/springs/material-expressive-slow-spatial)
- [SwiftUI spring()](https://vawe.dev/springs/swiftui-spring)
- [All spring presets](https://vawe.dev/springs)
