logo svelte /motion v0.4.0
FIG-001 · MASTHEAD
// compare / svelte-motion vs gsap

vsgsap.

GSAP is a timeline engine. Svelte Motion is a component library. Different problems.

FIG-001
SHEET 01 / 07
FIG-002 / OVERVIEW

at a glance.

GSAP is the heavyweight timeline engine for the web — imperative, plugin-rich, and mature. @humanspeak/svelte-motion is a declarative component library for Svelte 5 — gestures, layout, presence, variants, drag. There is overlap (both can tween a property), but each is shaped around a different model of how UI animation works.

FIG-003 / FEATURE MATRIX

side-by-side.

Every surface that matters, compared without spin.

feature@humanspeak/svelte-motionGSAP
Tween any CSS property yesyes
Spring physics type: "spring"Manual / RoughEase
Timelines with scrub / labels / nesting noBest-in-class
Declarative motion.<tag> components ~170 tagsno
AnimatePresence exit animations yesno
whileHover / whileTap / whileFocus / whileInView GSAP requires manual pointer / IntersectionObserver wiring.yesno
Drag with constraints / momentum / elastic Built in (drag prop)Draggable plugin
FLIP layout animation layout / layout="position"Flip plugin (imperative)
Shared layout (layoutId) yesno
Variants with parent → child propagation yesno
ScrollTrigger (pin / scrub / snap) Partial (useScroll + useTransform)Best-in-class
MorphSVG path morphing motion.path + flubberMorphSVGPlugin (paid)
Reactive motion values yesno
License MITStandard free + Club GSAP (paid plugins)
Framework integration Native Svelte 5Framework-agnostic
FIG-004 / STRENGTHS

where each shines.

▣ svelte motion 15
  • +Svelte 5 runes-native — built for runes, not retrofitted
  • +Framer Motion-compatible API for component code (props, semantics, AnimatePresence, variants)
  • +~170 motion.<tag> proxy components covering every HTML and SVG element
  • +Full gesture set: whileHover, whileTap, whileFocus, whileInView
  • +Drag gesture with constraints, momentum, elastic, snap-to-origin, axis lock
  • +FLIP layout animation and shared layoutId out of the box
  • +Spring physics, scroll-linked motion values, and reactive useMotionValue / useTransform
  • +SSR-safe by default — initial state renders server-side, hydrates without flicker
  • +Tree-shakeable Motion<Tag> named exports for bundle-size-critical apps
  • +TypeScript-first with full type safety across motion props, drag, variants, and hooks
  • +MIT licensed — no commercial tier, no paid plugin gates
  • +Declarative props for hover / tap / focus / in-view — no listener plumbing
  • +AnimatePresence handles exit animations without manual unmount delay
  • +FLIP layout and shared layoutId animate component-level box changes automatically
  • +No paid plugin tier — every feature ships in the MIT-licensed core
▢ gsap 5
  • +Timeline orchestration is genuinely best-in-class — scrubbing, labels, nesting, reverse
  • +Deep plugin ecosystem: ScrollTrigger, Flip, MorphSVG, Draggable, SplitText, Observer
  • +Decade-plus of production hardening across thousands of sites
  • +Ad-tech and creative-coding industry standard
  • +Detailed control over every easing curve and motion path
FIG-005 / LIMITATIONS

where each falls short.

▣ svelte motion 4
  • Requires Svelte 5 + runes (no Svelte 4 / legacy stores support)
  • Newer project — smaller community than the React Framer Motion ecosystem
  • transition.staggerChildren orchestrator not yet wired — drive cascades with per-child delay
  • Timeline orchestration is shallower than GSAP — no scrub / label / nested timeline equivalents
▢ gsap 6
  • Imperative API — you own DOM refs, lifecycle, and gesture state machines
  • No declarative gesture props (whileHover / whileTap / whileFocus / whileInView)
  • No AnimatePresence equivalent — manual unmount delay required
  • No shared-layout (layoutId) animation pattern
  • Some marquee plugins (MorphSVG, SplitText, Physics2D) are paid (Club GSAP)
  • Larger bundle once you add ScrollTrigger / Flip / Draggable
FIG-006 / VERDICT

the honest call.

Choose GSAP when you need its timeline depth, ScrollTrigger pinning, MorphSVG, or already have a GSAP-comfortable team. Choose @humanspeak/svelte-motion for declarative component-level animation in Svelte 5 — gestures, presence, layout, drag. The two can coexist in the same app: Svelte Motion for UI animation, GSAP when you need its timeline engine.

FIG-007 / MORE

read more.

Every head-to-head, with the same matrix + pros / cons + verdict format.

SET / JETBRAINS MONO + INTER
HUMANSPEAK · 2026
MIT LICENCE
try
svelte motioninstall in 30 seconds
SHEET 07 / 07
END OF DOCUMENT
↩ ALL COMPARISONS