Two lean JavaScript animation engines. Anime.js is a mature, feature-rich timeline library; Motion One is a tiny modern engine built on the native Web Animations API. Both run for real below.
anime.jsAnime's stagger() helper offsets each target's timing. Here it ripples a row of bars up and down in a smooth wave.
anime({ targets: '.bar', scaleY: [1, 2, 1], delay: anime.stagger(60, { from: 'center' }), easing: 'easeInOutSine', loop: false });
anime.jsStaggering across a 2D grid lets a wave radiate from any cell. This one bursts outward from the centre.
anime.jsAnime has a built-in setDashoffset helper that "draws" SVG strokes. Watch the path trace itself.
Motion OneMotion One animates via the native Web Animations API and ships a real spring() generator. Toggle the knob — it springs to its new position.
import { animate, spring } from 'motion'; animate(knob, { x: 260 }, { type: spring({ stiffness: 220, damping: 14 }) });
Motion OneMotion's timeline() sequences multiple animations with relative offsets — much like Anime's timeline, but on the native engine.
cdn.jsdelivr.net. Each badge shows which engine powers that demo — the staggers and SVG draw are genuine anime.js, and the spring and timeline are genuine Motion One. Page chrome is the shared CSS shell.