Loading
Loading
Loading
mobile footer

Build the Interaction Layer Your Website is Missing.

Browse All EffectsBrowse All EffectsBrowse All EffectsUpgrade to ProUpgrade to ProUpgrade to Pro

70+ effects free, forever. No credit card.

© 2026 Hyperiux. All Rights Reserved.

AI Component CatalogueHey AI, Learn About Us
Platform

Vault

  • Documentation
  • Pricing
  • Blog
  • Community
  • NPM
  • MCP

Categories

  • All Effects
  • WebGL
  • Text
  • Backgrounds
  • Buttons
  • Carousels
  • Scroll
  • Components
  • Navigation
  • Cursor
  • Transitions
  • Loaders

Documents

  • Introduction
  • Installation
  • CLI
  • Dependencies
  • License

Legal

  • License Agreement
  • Terms of Service
  • Privacy Policy
  • Refund Policy
Socials
  • Twitter / X
  • LinkedIn
  • GitHub
  • Instagram
Contact Us
  • hello@hyperiux.com
New effects, in your inbox

Every new drop, plus the occasional behind-the-scenes build. No spam. Unsubscribe anytime.

All Effects
Featured ComponentsText AnimationsAnimated BackgroundsAnimated ButtonsCarousel EffectsScroll EffectsCreative ComponentsNavigationsCursor EffectsTransitionsLoadersWebGL & 3D Effects
Templates
IntroductionInstallationCLIDependenciesLicense
PricingBlogGithubNPMMCP Doc
Loading
Shiny Button

Shiny Button

A glossy animated button component for hero CTAs, pricing actions, upgrade prompts, product launches, and conversion sections where the primary action needs a little more pull.

DemoDemoDemo

Tune the Real Props

Fill Color

Button fill colour inside the animated border.

Label Color

Label colour.

Accent Color

Colour of the rotating border arc, inner shimmer, and hover glow.

Accent Soft Color

Shine colour the border eases into while hovered.

Overview

Shiny Button gives a standard CTA a controlled light pass.

The button uses glow, gradient movement, surface shine, and soft edge illumination to create a polished interaction state. The label remains stable while the visual surface moves around it, so the user still reads the action clearly.

Use Shiny Button when a page needs one CTA to feel more desirable than the surrounding interface. It works for SaaS pricing pages, account upgrade flows, premium-access prompts, product launches, checkout starts, waitlist buttons, and hero sections where the primary action needs a stronger visual cue.

The page job is conversion emphasis. The shine should make the button feel active and intentional. It should not make the user wonder whether the CTA is clickable, loading, disabled, or auditioning for a sci-fi dashboard.


Usage Code

page
1// Built using Hyperiux Vault: https://vault.hyperiux.com2 3import ShinyButton from "@/components/effects/shiny-button";4 5export default function Page() {6    return (7        <>8        <div className="h-screen w-screen flex items-center justify-center relative">9                  <ShinyButton />10</div>11        </>12    13    );14}

Example Production Use Case

A SaaS pricing page can use Shiny Button on the paid-plan CTA. The surrounding interface stays calm, while the main action carries a subtle animated gloss that reinforces priority.

The outcome is hierarchy. Visitors understand which button matters most without the page needing another arrow, badge, or desperate “most popular” treatment trying to carry the whole conversion path.

A product launch page can use the same component for a waitlist or early-access CTA where the action should feel alive but still trustworthy.


Best Used For

  • Primary CTAs in hero sections.
  • Pricing, checkout, upgrade, and premium-access actions.
  • Launch pages where one action needs stronger pull.
  • SaaS, AI, developer-tool, and digital-product interfaces.
  • Dark UI sections where glow and shine can create clean contrast.

Not For

Not for every button on the page.

Not for destructive actions, legal confirmations, subtle secondary links, dense dashboards, form controls, or navigation items that should stay quiet.

Not for CTAs with unclear copy. Shine can attract attention, but it cannot make “Click here” worth clicking.


Performance Budget

Keep the visual layer lightweight. Prefer CSS gradients, masks, opacity, and transform over heavy filters or constant JavaScript-driven animation. Avoid running pointer calculations when the button is offscreen or inactive.

Limit glow blur and animated texture density. A CTA should feel polished, not like it brought its own rendering engine to a checkout flow.


Accessibility and Mobile

Use real button or anchor semantics, readable labels, visible focus states, and sufficient contrast. The shine should never reduce label clarity.

On touch devices, use a stable active or hover-safe visual state instead of relying on cursor position. For reduced motion, freeze the shine, remove continuous movement, or show a static polished surface.


Common Mistakes

  • Applying shiny treatment to every CTA.
  • Letting the animated surface reduce label readability.
  • Using divs instead of real buttons or anchors.
  • Forgetting focus-visible states.
  • Making the shine look like a loading indicator.
  • Running pointer-driven animation on touch devices without fallback.
  • Styling a weak CTA instead of improving the action copy.

Changelog

v1.0.0

Sep 15, 2026
Initial release

API Reference

PropTypeDefaultDescription
labelstringGet StartedButton label text.
fillColorcolor#000000Button fill colour inside the animated border.
labelColorcolor#ffffffLabel colour.
accentColorcolor#ff5f00Colour of the rotating border arc, inner shimmer, and hover glow.
accentSoftColorcolor#ff9253Shine colour the border eases into while hovered.
sweepDurationnumber3Seconds for one full rotation of the border gradient.
easeDurationnumber0.8Seconds for the hover ease into the wider, brighter border.
arcWidthnumber5Resting width of the bright border arc, as a percentage.
cornerRadiusnumber32Corner radius in pixels; 32 and above render as a full pill at the default height.
showSpecklebooleantrueShows the masked dot pattern layer.
showSheenbooleantrueShows the rotating inner sheen.
speckleOpacitynumber0.4Strength of the dot pattern layer. Needs Show Speckle on.

Questions, Answered.

What is Shiny Button?

Shiny Button is a React button component that adds a glossy animated shine, glow, or light-pass treatment to a CTA.

When should I use Shiny Button?

Use it for primary actions that deserve extra visual emphasis, such as pricing CTAs, upgrade buttons, product launch actions, checkout starts, and premium-access prompts.

Should every button use Shiny Button?

No. Use it on one or two high-priority actions. Too many shiny buttons weaken hierarchy and make the page feel noisy.

Does Shiny Button work with links?

Yes. If the action navigates to another page, render it as an anchor. If it performs an action, render it as a button.

How do I keep Shiny Button accessible?

Use semantic elements, readable labels, visible focus styles, sufficient contrast, and decorative shine layers that do not block interaction or duplicate text.

Request a Custom Animation

Need a custom effect? Tell us what to create.

Related Effects

Explore All EffectsExplore All EffectsExplore All Effects
Border Beam
CSS

Border Beam

Components

Arrow Fill Button
Lucide-react

Arrow Fill Button

Buttons

Dot Fill Button
Pro
CSS

Dot Fill Button

Buttons

Character Stagger Primary Button
Pro
Lucide-react

Character Stagger Primary Button

Buttons