Indonesia Singapore ไทย Pilipinas Việt Nam Malaysia မြန်မာ ລາວ
← Back to Blog

CSS Animations vs GSAP: Choosing the Right Tool for Web Performance

Match your animation tool to your performance budget: native CSS for scroll-driven effects, GSAP only where physics-grade easing justifies the JavaScript overhead.

Editorial illustration of a developer balancing CSS and JavaScript animation tools on a performance scale
Illustrated by Mikael Venne

CSS scroll animations and GSAP are both maturing fast. Here's how to choose the right rendering strategy without torching your Core Web Vitals.

The browser’s animation capabilities have quietly outgrown their reputation. Two recent demos make that tension impossible to ignore — and force a genuinely useful question for any team shipping interactive experiences in 2026: when does native CSS earn its keep, and when does a JavaScript animation library actually justify the payload?

What Native CSS Scroll Animations Can Actually Do Now

CSS-Tricks recently published a detailed walkthrough by John Rhea recreating Apple’s Vision Pro hero animation — the one with the cinematic depth reveal that Apple’s own team built in heavy JavaScript — using nothing but modern CSS scroll-driven animations. The result is functionally identical to the original at a fraction of the runtime cost.

This matters for a specific reason: scroll-driven animations in CSS run off the main thread. They don’t block parsing, don’t compete with your JavaScript execution budget, and don’t contribute to Total Blocking Time — one of the three Core Web Vitals that Google’s ranking algorithm directly weights. For Southeast Asian markets where mid-range Android devices still account for the majority of mobile sessions, off-main-thread rendering isn’t a nice-to-have. It’s the difference between a smooth experience and a janky one on a Redmi Note running Chrome.

The practical ceiling here is real, though. CSS excels at timeline-tied, scroll-driven, or transition-based animations. The moment you need physics-based easing, sequenced multi-element choreography, or reversible state machines, you’re fighting the cascade.

Where GSAP Still Wins — And What easeReverse Actually Solves

Codrops published a sharp demo this week exploring GSAP’s easeReverse — a utility that mirrors the easing curve of a forward animation when reversing it, rather than applying a generic ease-out. The UX implication is subtle but perceptible: UI elements that snap open and glide closed feel intentional rather than mechanical.

This is the niche where GSAP earns its ~68KB gzipped footprint. If your menu, modal, or product reveal animation plays in both directions — and your design system demands that the reversal feels as considered as the entry — easeReverse removes the manual effort of crafting inverse curves by hand. That’s a real engineering time-save on complex interaction layers.

The performance calculus, however, requires honesty. GSAP animations run on the main thread by default. For a marketing homepage with one hero interaction, the overhead is negligible. For a Shopee-style product listing page with 40+ animated card elements in the viewport, that calculus flips entirely. The rule I apply: if the animation serves the user’s task flow, reach for CSS first. If it serves brand expression and involves sequenced choreography, GSAP is the right tool — but profile it against your INP budget before shipping.


Safari Technology Preview 242 and the Cross-Browser Animation Gap

WebKit’s Safari Technology Preview 242 dropped this week with continued refinements to CSS feature support. For teams building scroll-driven animations using the animation-timeline and scroll() APIs, this matters: Safari has historically lagged on these specs, creating a fragmentation problem that pushed developers toward JavaScript polyfills — and therefore toward JavaScript animation libraries — even when native CSS would have been preferable.

The practical implication for Southeast Asian teams is significant. iOS’s locked browser engine means every browser on iPhone runs WebKit. Thailand, Indonesia, and Vietnam all show iOS market shares between 15–25% depending on demographic — not a segment you can polyfill away. Tracking Safari Technology Previews gives you a 6–8 week forward view on what’s safe to ship natively. Right now, the scroll animation APIs are stabilising fast enough that building against them with a GSAP fallback for older Safari versions is a defensible production strategy, rather than the liability it was 18 months ago.

The Bigger Risk: When Design Tooling Outpaces Performance Discipline

Smashing Magazine published a pointed piece by Carrie Webster this week on AI-assisted design workflows producing “production-ready” outputs that blur the line between design deliverable and engineering artefact. The concern Webster raises — that designers are shipping interaction code without the performance context to evaluate its runtime cost — maps directly onto the animation question.

Motion design tools and AI code generators can produce beautiful GSAP sequences in minutes. What they don’t produce is a Lighthouse audit, an INP measurement under load, or a frame-rate profile on a budget device. The organisational risk is that animation complexity creeps into production through design handoff rather than engineering review — and by the time someone runs a performance audit, the interaction is already in the brand style guide.

The structural fix is straightforward but requires buy-in: animation decisions should be reviewed against performance budgets at the design stage, not the QA stage. Define your animation cost ceiling — whether that’s a JavaScript payload cap, a frame-budget for composited layers, or an INP threshold — and make it part of your design system documentation alongside the motion guidelines themselves.

Key Takeaways

  • Use CSS scroll-driven animations for scroll-tied effects on performance-sensitive pages — they run off the main thread and won’t penalise your Core Web Vitals.
  • Reserve GSAP for sequenced, physics-grade, or reversible interactions where easing control justifies the JavaScript overhead — and profile against INP before shipping.
  • Build animation performance budgets into your design system now; AI-assisted design workflows will otherwise push complex motion into production faster than engineering review can catch it.

The tools are genuinely excellent right now — native CSS is more capable than most teams realise, and GSAP is more surgical than its reputation suggests. The question worth sitting with is whether your team’s animation decisions are being made with runtime cost visibility, or whether motion is still treated as a pure design variable with no engineering accountability attached to it.


At grzzly, we work with digital teams across Southeast Asia to close the gap between motion-rich design ambitions and the performance constraints of real-world devices and networks. Whether that means auditing your current animation stack, defining performance budgets for your design system, or building the technical guardrails that keep INP scores healthy as your product scales — this is exactly the kind of work we do. Let’s talk

Diesel Grizzly

Written by

Diesel Grizzly

Core Web Vitals, rendering strategies, PWAs, and the relentless pursuit of sub-second load times. Believes that performance is the most underrated conversion optimisation lever in existence.

Enjoyed this?
Let's talk.

Start a conversation