Skip to content

v3.2.1 • Motion • 8kb gzipped • MIT

MotionEase

Physics-based micro-animations with a single call. Spring curves that feel right without a tuning session.

★ 9.6kGitHub
↓ 23.7k / week● MIT● TS 5.0+
motionease-preview.png
Abstract preview graphic for MotionEase

// why motionease

Springs, not keyframes

Describe where an element should end up and MotionEase works out how it gets there. No easing tables, no magic numbers copied from a blog post.

● 60fps● 6ms frame cost● 0 deps

// stack

Composable

Every animation is a plain object you can inspect, pause and hand to another animation. Interrupt one mid-flight and it resolves cleanly.

MotionEase started as a single file in a client project and stayed small on purpose. It does one job, it does it in 8kb gzipped, and it has no runtime dependencies.

Getting started

Install it, import it, call it:

npm i motionease-js

Describe where an element should end up and MotionEase works out how it gets there. No easing tables, no magic numbers copied from a blog post.

What it does not do

It does not manage your state, style your components or ship a plugin system. Those are your decisions, and keeping them out is what keeps the bundle honest.

  • Interruptible by design
  • Respects reduced motion
  • MIT licensed, commercially friendly

Features

Interruptible by design

Retarget an animation mid-flight and velocity carries through. No snapping, no queued jank.

Respects reduced motion

Reads the user preference and falls back to an instant state change automatically.

ESM and types

Ships module and CommonJS builds with hand-written type definitions and source maps.

Sixty frames, measured

Performance is asserted in CI against a recorded trace, not assumed.

Compositor friendly

Animates transform and opacity only, so nothing triggers layout.

Fully controllable

Play, pause, reverse and seek, all from a plain object.

Get MotionEase v3.2.1

7 files • .min.js 8kb • .zip 89kb • sha384 verified

Changelog

v3.2.1 Aug 30 2026 • latest
  • Velocity handoff between chained springs
  • Fixed a leak when unmounting mid-animation
  • Bundle down 1.2kb
v3.2 Jun 15 2026
  • Fixed a memory leak on repeated teardown
  • Source maps now published with every build
v3.1.4 Mar 12 2026
  • Type definitions rewritten by hand
  • Dropped the last runtime dependency
View full archive →

// related

Related products

Sep 10 • v2.0

ChartForge

Canvas charts in twelve lines. Responsive, accessible and dark-mode ready, with no D3 learning curve.

View →
Aug 19 • v1.9.4

FormFlow

Validation and multi-step logic that works the same in React, Vue and vanilla. Your markup stays yours.

View →
Aug 08 • v4.0

DataSync

Offline-first sync for IndexedDB with conflict resolution you can actually reason about.

View →

Make it move today.

MIT licensed. Commercial friendly. Five-minute setup.