mrkeyoor.com_
Sat 17 Oct 13:32 UTC
Webevaluationupdated 10 Oct 2026

GSAP review

GSAP is a JavaScript library for animating elements and values, with timelines that keep related movements on the same schedule. Its plugins handle jobs such as scroll-driven effects, dragging, and SVG motion, so you can control those interactions without writing all the animation machinery yourself.

+239stars / 7d
Verdict

Our GSAP run installed in 2 seconds with 0 packages added, but build and tests were skipped because the checkout had no targets for them. Choose it for coordinated timelines and specialist browser effects when you can verify cleanup in your own app. Its custom license makes competing visual animation builders a separate adoption decision.

We ran it

Lab card: what happened when we ran GSAPScreenshot of GSAP (gsap.com)
Install✓ · 2s0 packages · 9 MB
Buildn/ano build script
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo104 files~54,478 lines of source · 2.1 MB · 0 CI workflows

Answers from our run

Does GSAP build from source?

Dependencies installed in 2 seconds (0 packages), and the project has no separate build step. We cloned commit 13e2b79 into a clean Debian container with 3 CPUs and no project-specific setup.

Does GSAP have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does GSAP have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use GSAP?

Makers of competing visual animation builders: the custom license restricts certain uses that compete with Webflow and requires prior written consent.

What are the alternatives to GSAP?

Motion, Anime.js. Our GSAP run installed in 2 seconds with 0 packages added, but build and tests were skipped because the checkout had no targets for them.

Setup5/52-second install, no extra packages, and direct module or CDN paths
Docs5/5Specific timeline, plugin, media-query, and cleanup guidance
Community4/529,007 stars, active issue reports, and a dedicated support forum
Maturity4/5Broad browser tooling, but no runnable suite and open lifecycle reports

Who it’s for

Front-end developers coordinating several animations that need shared timing or reversal.
Designers who code scroll-driven or SVG interactions and can own their lifecycle.
React and Vue teams prepared to wire plugin registration and component cleanup.

Who it’s NOT for

Makers of competing visual animation builders: the custom license restricts certain uses that compete with Webflow and requires prior written consent.
Navigation-heavy apps whose teams cannot investigate scroll restoration or listener cleanup: open issues 655 and 654 describe those specific failures.
Maintainers who require a runnable upstream validation suite: our checkout had no build or test target and 0 CI workflow files.

Setup reality

Our run of commit 13e2b79 installed successfully in 2 seconds, added 0 packages, and occupied 9 MB. Build and tests were skipped because there were no scripts or targets for them. Npm audit reported 0 known vulnerabilities.

Local use needs no API credential or hosted service. The README documents npm and CDN routes, ES modules and UMD files, and explicit plugin registration. React users are directed to a separate useGSAP integration for cleanup, which our checkout measurement does not cover.

The fresh Debian sandbox had 3 CPUs, 8 GB RAM, and lab-node:22. Browser element access, reduced-motion behavior, and navigation teardown remain application work. Open issues describe stale scroll restoration and media-query listener cleanup, neither verified by this run.

Timelines are GSAP's reason to enter your application

GSAP's timelines let you change a sequence without scattering timing decisions across separate animations. A product image can move, a caption follow, and a control reverse the sequence. The library animates JavaScript values, including CSS properties and SVG attributes, and its README lists canvas and WebGL uses too. Choose it when several movements share a schedule that you expect to edit or control.

Our checkout was 2.1 MB with 104 files and about 54,478 lines of source. You supply the design and connect the animation library to application state. For a button that only changes opacity on hover, I'd start with CSS. For a coordinated sequence with a draggable or scroll-driven component, GSAP has a clearer job to do.

What happened when we ran it

Our run installed GSAP commit 13e2b79 in 2 seconds, added 0 packages, and used 9 MB on disk. We cloned it on October 10, 2026, in a fresh Debian container with 3 CPUs and 8 GB of RAM, using lab-node:22. The unprivileged sandbox contained no secrets. Installation completed successfully.

Build and tests were skipped because the checkout exposed no build script or target and no test script or target. Our scan found 0 CI workflow files, no Dockerfile, and no tests directory. Those findings limit the evidence available from this run: there is no successful build or test result to quote. They also make this a weaker choice for someone who requires a runnable upstream suite before changing library internals.

Npm audit reported 0 known vulnerabilities. The 9 MB installed footprint is a disk measurement, not the amount a visitor downloads or a browser performance result. Nothing in these results establishes animation smoothness on your phone, scroll behavior inside your router, or cleanup after navigation. The README's performance claims need their own workload to evaluate. The sandbox establishes a successful install without extra packages.

Import plugins explicitly and keep browser work in the browser

The GSAP README shows imports for ScrollTrigger, Flip, and Draggable, followed by plugin registration. It also documents ES modules and UMD files under dist/. You don't need a hosted animation service, API token, or database to use those paths. The integration work sits in your front end: finding the intended elements and deciding when animation begins, stops, or reverses.

The 0-package install is appealing, but it doesn't remove component-lifecycle work. The README points React users to a separate @gsap/react package and its useGSAP() hook for cleanup. Our measurement covers this GSAP checkout, not that additional integration. Keep DOM-dependent animation where elements exist, and decide who owns teardown when a component disappears. Otherwise a short example can turn into persistent behavior that the rest of your app struggles to explain.

Reduced motion needs an explicit branch

The matchMedia guide documents viewport queries and prefers-reduced-motion conditions. Its examples choose different animation behavior when those conditions match. This gives you a place to make a smaller-screen composition and a reduced-motion path, rather than shrinking the desktop sequence and hoping it remains usable. The author still supplies those decisions, including what content should remain visible when motion is removed.

A 2-second install cannot assess that behavior. I would try a representative screen with motion reduction enabled and after repeated route changes, then inspect whether the content and controls remain available. The same guide explains how to collect animations created by later callbacks and how to remove your own event listeners. That matters once the interface outlives its demonstration.

Open scroll and listener reports concern navigation-heavy sites

Issue 655 reports ScrollTrigger restoring a stale scroll position during refresh after a particular scroll-event sequence. The report names GSAP 3.15.0 and describes a Next.js App Router navigation case. It explains the cached scroll values. This is a specific reason to examine refresh behavior if your application changes pages without a full reload, rather than treating every scroll demonstration as evidence for your route lifecycle.

Issue 654 reports media-query listeners remaining after repeated matchMedia() creation and teardown. Both reports were open when inspected, and neither is a failure from our sandbox. The lab found 0 CI workflow files and no test target, so it supplies no independent check of either report. Teams unable to investigate navigation or listener cleanup should be cautious about making GSAP responsible for a large, persistent application's motion.

Free commercial use comes with a custom license

GSAP uses a standard no-charge license rather than MIT or Apache-2.0. The published terms allow commercial use and restrict certain visual animation builders that compete with Webflow, requiring prior written consent for prohibited uses. That makes it a poor default for a competing animation-editor product. A source-visible repository and a free download do not give such a product the same permission as an ordinary website.

The last GitHub push was April 13, 2026. GitHub returned 29,007 stars and 7 open issues and PRs, while the latest-release endpoint returned no release. October and September issue activity shows the tracker still receives concrete reports, and the README directs support to GSAP's forums as well. These facts warrant checking responses to relevant problems. A missing GitHub release entry alone is insufficient evidence that the library has been abandoned.

Motion and Anime.js are credible alternative starting points

Motion is worth considering when React component animation is your main requirement. Anime.js is another JavaScript animation engine to compare for a framework-independent interface. Both repositories use MIT licensing. Neither comparison can be settled by our 9 MB disk result, which describes GSAP alone. Start with the animation and lifecycle you actually need, then compare how each library expresses it.

I'd choose GSAP for a sequence that benefits from timelines and its specialist plugins. Before adopting it for a navigation-heavy site, put route changes and teardown into the trial. Before embedding it in a visual animation builder, read the license against that product's purpose. The decisive demonstration is the interaction you intend to maintain, including the moment the user leaves it.

Alternatives

ProjectWhat it isPick it when
Motion gh↗An MIT-licensed animation library for React and JavaScript.pick this instead when React component animation is the center of your application.
Anime.js gh↗An MIT-licensed JavaScript animation engine.pick this instead when you want a framework-independent engine with MIT licensing.

What people are saying

  1. [github-trending] greensock/GSAP

Sources

  1. GSAP README and integration paths
  2. GSAP timeline control
  3. Media queries, reduced motion, and cleanup
  4. GSAP standard no-charge license
  5. ScrollTrigger stale-position report, issue 655
  6. MediaQueryList listener report, issue 654
  7. GSAP repository metadata and activity

More web reviews

dioramas · elpis · deepseek-whale-girl · floorplan-3d · taro · driver.js · the whole board →