Walks gsap.globalTimeline and polls document.getAnimations() to catch every GSAP tween, CSS animation, CSS transition and element.animate() call running on the page, including ones that already finished and got pruned.
Visual debugger for GSAP, CSS & WAAPI animations
See every animation on your site as a scrubbable timeline track.
What it’s all about
Your animations already exist: GSAP tweens, CSS keyframes, transitions, WAAPI calls. Timeline Lens just makes them visible, laid out as tracks you can scrub.
console.log() tells you a tween exists. Timeline Lens shows you where it starts, how long it runs, what it targets and how it eases, across GSAP, CSS and WAAPI alike, while the page keeps doing its thing.
What it does
Four things, done properly.
Play, pause, reverse, change speed, or drag the playhead across real GSAP and native WAAPI instances alike. Nothing here is faked: you are driving the actual animations.
See each animation’s targets, timing, easing and keyframes, plus a best-effort reconstruction of the call that created it: a GSAP tween, a CSS rule, or a WAAPI animate().
Hover any track and its real DOM target lights up on the page, so you always know exactly what is moving, whatever engine is driving it.
See it detect
One tool, three engines.
Available now
Start with the npm package. A browser extension is on the way.
Mount it behind a dev guard
Install timeline-lens as a dev dependency. It detects GSAP,
CSS animations and transitions, element.animate()
and WAAPI out of the box. GSAP is never a hard dependency: it resolves
through a dynamic import that's allowed to fail, so the studio still runs
fine on CSS and WAAPI alone when GSAP isn't installed.
For more information, see the documentation.
One click on any page
Same detection engines as the npm package (GSAP, CSS animations,
transitions, element.animate() and WAAPI) on any page, whether
or not it exposes window.gsap. Click the icon to mount
the panel, click again to toggle it away. Currently in testing ahead
of its launch.
Install it
Add timeline-lens as a dev dependency: npm install --save-dev timeline-lens. It detects GSAP, CSS and WAAPI animations already in your project, no configuration needed. A browser extension for any page is on the way.
Guard it, then open it
Import it behind a dev-only check, such as import.meta.env.DEV in Vite or process.env.NODE_ENV in webpack and Next.js, then call init(). A floating trigger button mounts in a Shadow DOM root, so its styles never collide with your page.
Debug visually
Click the trigger, or call toggle() yourself. Every animation, whatever engine authored it, appears as a named, scrubbable track: play, pause, inspect, highlight, then close it and ship.