The Animated Sign-Up Button is a free, copy-paste ready
registration UI button component built with pure HTML, CSS
pseudo-element mask tricks, and vanilla JavaScript. It is the
pink-identity sibling of the
Animated Sign-In Button —
sharing the identical glassmorphism + gradient outline + shine + spinner +
progress architecture, but differentiated with a
pink-led color system appropriate for the registration action.
The gradient: --accent: linear-gradient(135deg, #ec4899, #7c3aed, #06b6d4)
leads with hot pink (#ec4899), through violet, to cyan.
The ambient background uses rgba(236,72,153,0.15) at 20%/20%
instead of the sign-in's purple ambient — visually signalling a different
action even before any interaction.
Hover state: transform: translateY(-4px) scale(1.03),
box-shadow: 0 0 18px rgba(236,72,153,0.55) (pink glow).
Gradient outline: ::before with
inset: -2px, padding: 2px,
mask-composite: exclude reveals only the 2px border ring in the
pink→violet→cyan gradient. Shine: .shine span,
skewX(-18deg), sweeps left: -120% → 130% over 1s.
Click: label → 'Creating Account…', SVG upload
icon hides, 18px white spinner (0.8s linear) appears, 4px gradient progress
bar fills via p += 5 + Math.random() * 15 every 120ms. On
completion: 'Welcome!' for 2000ms, then full restore to
'Sign Up' + icon. The SVG icon is an upload/add
arrow: M12 5v14 (vertical center line),
M7 10l5-5 5 5 (upward chevron), M4 19h16
(horizontal base) — reading as "submit upward" or "add account."
The sign-up button's pink identity
(#ec4899 leading the gradient, pink hover glow, pink ambient
background) versus the sign-in button's indigo identity
(#4f46e5 leading, purple glow) encodes a common UX convention:
the returning user action (sign-in) uses a cool, familiar tone;
the new user action (sign-up) uses a warm, energetic tone to
signal opportunity and invite. When paired on the same auth page, users
can distinguish the two actions by color alone without reading the label.
Both buttons use identical structure, sizing (border-radius:14px,
padding:16px 34px), and animation timing — making them
visually cohesive as a matched pair.
The three-state label pattern is fully generic. Replace the strings in the
JavaScript to match your UX copy: 'Sign Up' (idle) →
'Creating Account…' (loading) → 'Welcome!'
(success). Other examples: 'Register'→'Registering…'→'All Set!',
'Join Now'→'Joining…'→'You're In!',
'Get Started'→'Setting Up…'→'Ready!'. Change the 2000ms
success display in setTimeout() to match your redirect timing —
if you redirect immediately on success, set it to 0 or remove the restore
step entirely.
Released under Creative Commons Attribution 4.0 International (CC BY 4.0). Free for personal and commercial use with attribution to Coodeverse.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>Animated Sign-Up Button</title>
</head>
<body>
<button class="signup-btn" id="signupBtn">
<svg id="signupIcon" width="20" height="20" fill="none" stroke="white"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 5v14"/>
<path d="M7 10l5-5 5 5"/>
<path d="M4 19h16"/>
</svg>
<div class="spinner" id="spinner"></div>
<span id="labelText">Sign Up</span>
<span class="shine"></span>
<div class="progress" id="progress"></div>
</button>
</body>
</html>
Common questions about the free Animated Sign-Up Button project.
Yes — 100% free under Creative Commons Attribution 4.0. No sign-up, no payment. Click Download Project and use it in any registration or auth UI project with attribution to Coodeverse.
Same architecture, three differences: (1) Color — sign-up uses #ec4899 (pink) leading the gradient and pink hover glow rgba(236,72,153,0.55); sign-in uses #4f46e5 (indigo) with purple glow. (2) Icon — sign-up shows an SVG upload arrow (vertical line + upward chevron + horizontal base); sign-in shows a door+entry arrow. (3) Label — sign-up uses 'Creating Account…'; sign-in uses 'Signing In…'. Use both together on an auth page for a cohesive but visually distinct matched pair.
Three paths in viewBox="0 0 24 24": vertical center line M12 5v14, upward chevron M7 10l5-5 5 5 (from 7,10 up-left 5 to tip at 12,5, then down-right 5 to 17,10), horizontal base M4 19h16 (bottom bar from 4 to 20 at y:19). Set fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round". Reads as "submit upward" or "add account" — appropriate for sign-up and registration actions.
Set --accent:linear-gradient(135deg,#ec4899,#7c3aed,#06b6d4). Apply to ::before with mask-composite:exclude: position:absolute; inset:-2px; border-radius:inherit; padding:2px; background:var(--accent); mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:0.4s. Set opacity:1 on :hover::before. Match the hover glow: box-shadow:0 0 18px rgba(236,72,153,0.55). Pink leads the gradient — placing the most vibrant color at top-left for maximum visual impact on hover approach.
Place both buttons side by side or on separate tabs. Matching glassmorphism base (backdrop-filter:blur(10px), rgba(255,255,255,0.06), border-radius:14px) makes them visually cohesive. The distinct gradient identities (indigo vs pink) let users distinguish actions by color. UX convention: cool/indigo for returning users (sign-in = familiar), warm/pink for new users (sign-up = opportunity). Both share identical sizing so they align perfectly without extra CSS.
Change the three strings in the click listener: idle (label.textContent = 'Sign Up' in restore), loading (label.textContent = 'Creating Account...' on click), success (label.textContent = 'Welcome!' on complete). Examples: 'Register'→'Registering…'→'All Set!', 'Join Now'→'Joining…'→'You're In!', 'Get Started'→'Setting Up…'→'Ready!'. Adjust the 2000ms setTimeout to match your redirect timing — set to 0 if you redirect immediately on success.
Browse coodeverse.com/projects — Animated Sign-In Button (indigo gradient sibling), Stylish Animated Search Button, Enhanced Animated Refresh Button, Holographic Login (full auth page), and more. All 100% free with complete HTML CSS JavaScript source code.