Compare · Motion · GSAP-style

jsKjs vs GSAP

Motion gives you the GSAP-style API for everyday UI animation — tweens, transforms, easing, stagger, timelines — in a fraction of the size. GSAP remains the tool for animation-heavy work, and it is now free.

Choose jsKjs when…
  • Your motion is UI feedback: entrances, hovers, toasts, modals, staggered lists, small sequences.
  • You want it in the same 8.1 KB file as your DOM, requests and state.
Choose GSAP when…
  • You need ScrollTrigger, Flip, Draggable, SplitText, MorphSVG or any other plugin (GSAP and all its plugins are free since Webflow's 2025 change).
  • You need playback control: pause, reverse, seek, progress, timeScale, repeat and yoyo.
  • You animate colours, SVG attributes, 3D transforms or hundreds of concurrent tweens.

Feature by feature

Compared with GSAP 3.15.0. ✓ works the same · ◐ supported with differences · ✗ not included.

GSAP features and jsKjs support
GSAPjsKjsNotes
gsap.to / from / fromTo✓ Yes$.to / $.from / $.fromTo — return Promises.
x, y, rotation/rotate, scale, scaleX, scaleY, skewX, skewY✓ YesComposed into one transform per frame.
xPercent, yPercent, z, rotationX/Y, transformOrigin✗ NoSet transform-origin in CSS.
Numeric CSS properties (opacity, width, margin…)✓ YesTweens from the computed value; keep units consistent.
Colours, SVG attributes, CSS variables✗ No
duration (s), delay, onComplete✓ Yes
onStart, onUpdate, onRepeat, callbacks with params✗ No
Eases◐ Partial10 built-in (power2 family, back.out, elastic.out, bounce.out, CSS-style) + any function.
stagger (number)✓ Yes
stagger object (each, amount, from, grid)✗ NoSort the collection or compute per-element delays.
gsap.timeline with sequencing, "<" and "+=N"✓ Yes$.timeline with defaults, paused, play(), onComplete, .add(fn).
Labels, absolute positions, "-=N", nesting✗ No
repeat, yoyo, repeatDelay✗ No
pause, resume, reverse, seek, progress, timeScale, kill✗ No
gsap.set, quickTo, utils, matchMedia✗ NoUse .css() for set.
Overwrite management✗ NoCompeting tweens on the same property are not cancelled automatically.
Plugins (ScrollTrigger, Flip, Draggable, SplitText, MorphSVG, MotionPath, Observer…)✗ No

Same intro, renamed

JavaScript
// GSAP
gsap.timeline({ defaults: { duration: .5 } }).from('.hero h1', { y: 30 }).from('.hero p', { y: 30 }, '<');
// jsKjs
$.timeline({ duration: .5 }).from('.hero h1', { y: 30 }).from('.hero p', { y: 30 }, '<');

See every Motion feature live →