Circle Fill Button
A circle of colour that grows out from wherever your cursor lands on the button, always taking the same time to fill whether you come in from the middle or the edge. Good for hero buttons.
One of 65 GSAP components in React, Vue and HTML.
On mobile
Take the free components with you.





In React, Vue and HTML, in your inbox, ready when you're back at your desk.
Where this component came from.
We built it for the drinkbodyarmor.com site and folded it back into the library when the project went live. A Good Fella piece, refined for reuse.
What you'll need.
Install
- GSAP
Concepts
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 Circle Fill Button work with React and Vue?
- Circle Fill 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 Circle Fill Button?
- Yes. Circle Fill 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 Circle Fill Button without editing code?
- Circle Fill Button exposes 3 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 Circle Fill Button free?
- Circle Fill Button is part of the Annnimate Library, a paid subscription (from EUR 249/year). The live preview and customization run free on this page; the paste-ready code is for members.
- Can I use Circle Fill Button in client projects?
- Yes. The Annnimate license covers commercial and client work - ship Circle Fill Button on as many projects as you build, with no attribution required.
- Does Circle Fill 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.
