
Gsap Performance
- 36.5k installs
- 12.5k repo stars
- Updated April 21, 2026
- greensock/gsap-skills
GSAP performance is a skill for optimizing GSAP animations for smooth 60fps with minimal jank.
About
This is the GSAP performance optimization skill for achieving smooth 60fps animations. It provides patterns for using transforms and opacity, managing will-change, batching DOM operations, and handling scroll-linked animations efficiently. Use it when optimizing GSAP animations, reducing layout thrashing, or debugging animation jank.
- Animate transforms and opacity to keep work on compositor
- Use will-change CSS hints and batch reads/writes
- Prefer stagger over manual delays; use quickTo for frequent updates
Gsap Performance by the numbers
- 36,533 all-time installs (skills.sh)
- +2,637 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #18 of 2,277 Frontend Development skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
gsap-performance capabilities & compatibility
- Capabilities
- performance optimization · rendering tuning
npx skills add https://github.com/greensock/gsap-skills --skill gsap-performanceAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 36.5k |
|---|---|
| repo stars | ★ 12.5k |
| Security audit | 3 / 3 scanners passed |
| Last updated | April 21, 2026 |
| Repository | greensock/gsap-skills ↗ |
How do you optimize GSAP animations for 60fps?
Optimize GSAP animations for smooth 60fps performance and minimal layout thrashing.
Who is it for?
Frontend teams debugging animation stuttering, optimizing rendering, and achieving 60fps targets
Skip if: Projects using CSS-only animations with no GSAP dependency, or teams needing scroll-trigger setup rather than runtime performance tuning.
When should I use this skill?
GSAP animations are causing jank, and you need to reduce layout thrashing
What you get
Refactored GSAP tweens using transform/opacity, will-change hints, and batched updates with reduced layout and paint cost.
- optimized-animation-code
- performance-metrics
Files
GSAP Performance
When to Use This Skill
Apply when optimizing GSAP animations for smooth 60fps, reducing layout/paint cost, or when the user asks about performance, jank, or best practices for fast animations.
Related skills: Build animations with gsap-core (transforms, autoAlpha) and gsap-timeline; for ScrollTrigger performance see gsap-scrolltrigger.
Prefer Transform and Opacity
Animating transform (x, y, scaleX, scaleY, rotation, rotationX, rotationY, skewX, skewY) and opacity keeps work on the compositor and avoids layout and most paint. Avoid animating layout-heavy properties when a transform can achieve the same effect.
- ✅ Prefer: x, y, scale, rotation, opacity.
- ❌ Avoid when possible: width, height, top, left, margin, padding (they trigger layout and can cause jank).
GSAP’s x and y use transforms (translate) by default; use them instead of left/top for movement.
will-change
Use will-change in CSS on elements that will animate. It hints the browser to promote the layer.
will-change: transform;Batch Reads and Writes
GSAP batches updates internally. When mixing GSAP with direct DOM reads/writes or layout-dependent code, avoid interleaving reads and writes in a way that causes repeated layout thrashing. Prefer doing all reads first, then all writes (or let GSAP handle the writes in one go).
Many Elements (Stagger, Lists)
- Use stagger instead of many separate tweens with manual delays when the animation is the same; it’s more efficient.
- For long lists, consider virtualization or animating only visible items; avoid creating hundreds of simultaneous tweens if it causes jank.
- Reuse timelines where possible; avoid creating new timelines every frame.
Frequently updated properties (e.g. mouse followers)
Prefer gsap.quickTo() for properties that are updated often (e.g. mouse-follower x/y). It reuses a single tween instead of creating new tweens on each update.
let xTo = gsap.quickTo("#id", "x", { duration: 0.4, ease: "power3" }),
yTo = gsap.quickTo("#id", "y", { duration: 0.4, ease: "power3" });
document.querySelector("#container").addEventListener("mousemove", (e) => {
xTo(e.pageX);
yTo(e.pageY);
});ScrollTrigger and Performance
- pin: true promotes the pinned element; pin only what’s needed.
- scrub with a small value (e.g.
scrub: 1) can reduce work during scroll; test on low-end devices. - Call ScrollTrigger.refresh() only when layout actually changes (e.g. after content load), not on every resize; debounce when possible.
Reduce Simultaneous Work
- Pause or kill off-screen or inactive animations when they’re not visible (e.g. when the user navigates away).
- Avoid animating huge numbers of properties on many elements at once; simplify or sequence if needed.
Best practices
- ✅ Animate transform and opacity; use will-change in CSS only on elements that animate.
- ✅ Use stagger instead of many separate tweens with manual delays when the animation is the same.
- ✅ Use gsap.quickTo() for frequently updated properties (e.g. mouse followers).
- ✅ Clean up or kill off-screen animations; call ScrollTrigger.refresh() when layout changes, debounced when possible.
Do Not
- ❌ Animate width/ height/ top/ left for movement when x/ y/ scale can achieve the same look.
- ❌ Set will-change or force3D on every element “just in case”; use for elements that are actually animating.
- ❌ Create hundreds of overlapping tweens or ScrollTriggers without testing on low-end devices.
- ❌ Ignore cleanup; stray tweens and ScrollTriggers keep running and can hurt performance and correctness.
Related skills
Forks & variants (2)
Gsap Performance has 2 known copies in the catalog totaling 1.4k installs. They canonicalize to this original listing.
FAQ
What properties should GSAP animations prefer for performance?
gsap-performance directs developers to animate transform and opacity via GSAP tweens instead of layout-triggering properties like width, height, or top, which cause reflow and hurt 60fps targets.
When should I load gsap-performance?
Load gsap-performance when optimizing existing GSAP animations, reducing jank, or when users ask about FPS, smooth 60fps playback, or best practices for fast web animations.
Is Gsap Performance safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.