The library

Curated, not a catalog dump.

Every component built to the bar we ship for real brands. Filter, preview live, copy in React or Vue.

Browse the library

Landmark Kits

Depth, not breadth.

A deep, stand-alone collection built around one system. Two Kits so far: Reveal, preloaders and hero sections as one mixable system, and Menu, ten site navigation menus as one system. React, Vue, HTML / CSS / JS. Not for Webflow.

See the Menu Kit

Concepts, patterns, tools

Learn the vocabulary.

Definitions and examples for the GSAP and animation concepts behind production motion. Free, citable, and cross-linked with the components that use each idea.

Open concepts

Jiggly Button

A button that squashes like jelly when you press it and wobbles back into shape when you let go, and gets poked from whichever side your cursor comes in. Made for sign-up and add-to-bag buttons on playful consumer brands.

Guides

One of 106 GSAP components in React, Vue and HTML.

The full source for Jiggly Button is locked.

On mobile

Take the free components with you.

Text Reveal
Text Reveal
Accordion
Accordion
Dual Scramble
Dual Scramble
Multi-Level Drawer Menu
Multi-Level Drawer Menu
Image Fly-In
Image Fly-In
Scale Slider
Scale Slider
Curtain Slider
Curtain Slider
Feature Dialog
Feature Dialog
ASCII Overlay
ASCII Overlay
Pricing
Pricing
Split Flap Board
Split Flap Board
Process Rail
Process Rail
Elastic Divider
Elastic Divider

In React, Vue and HTML, in your inbox, ready when you're back at your desk.

A Good Fella original.
The craft

How it's built.

The first version I built scaled the whole button down on press, the way most buttons do, and it read as a colour change with an extra step. So the press became a squash instead: the top drops and the sides bulge out by exactly enough to keep the same area, like pressing on something with volume. What made it read as jelly rather than a bounce is that the sides react a beat after the top. Move both at once and it looks like a rubber stamp; let the width lag and the shape feels soft. The text inside undoes part of that distortion, so the label stays readable while the button around it is flattening.

Letting go is two moves, not one. It springs up past its resting height first and then rings back to size on an elastic settle, with the width trailing the height the whole way. Hover uses the same material: whichever edge your cursor comes through dents in, the top or bottom flattens it and a side pinches it tall, and a faster cursor pokes harder. Past that it's yours: how deep it squashes, how tall it springs, how hard and how fast it wobbles, whether the text rides along or holds still, and whether it flattens from its base or its middle.

Required

What you'll need.

Install

  • GSAP
  • CustomEase

Attributes, tips, use cases and full code are part of access.

The preview and provenance stay public. Tune-it docs, the data-anm-* attribute table, real-world use cases and the copy-ready code unlock the moment you sign in.

Frequently asked

Does Jiggly Button work with React and Vue?
Jiggly Button ships as React (Next.js included), Vue 3 (Nuxt included), plain HTML/CSS/JS - the same animation in each format. The React version uses the official useGSAP hook with cleanup handled; the Vue version is a real single-file component with <script setup>.
Do I need GSAP to use Jiggly Button?
Yes. Jiggly Button is built on GSAP directly, and GSAP has been 100% free for commercial use, including every plugin, since version 3.13. The component page lists exactly what to install.
Can I customize Jiggly Button without editing code?
Jiggly Button exposes 7 tunable controls in the Customize panel on this page - drag the values, watch the live preview respond, and the code you copy carries your exact settings.
Is Jiggly Button free?
Jiggly Button is part of the Annnimate Library, a paid subscription (from EUR 29/month billed quarterly, or EUR 249/year). The live preview and customization run free on this page; the paste-ready code is for members.
What if Jiggly Button is not right for my project?
Annnimate comes with a 14-day money-back guarantee. If Jiggly Button or the library does not fit your project, reply to your receipt within 14 days for a full refund, no questions asked.
Can I use Jiggly Button in client projects?
Yes. The Annnimate license covers commercial and client work - ship Jiggly Button on as many projects as you build, with no attribution required.
Does Jiggly Button respect prefers-reduced-motion?
Yes. Every Annnimate component handles prefers-reduced-motion via gsap.matchMedia, so users who opt out of motion get an effectively instant, readable state.