Animated checkboxes and radio buttons bursting with colorful confetti particles when clicked

Popping Form Controls

demo & code

This is a Popping Form Controls component. It replaces standard browser checkboxes and radio buttons with highly stylized, interactive versions. Its function is to provide delightful micro-interactions by triggering a localized, physics-based confetti burst whenever an input is successfully checked.

Level: Intermediate
Browser Support [As of Mar 2026]: Chrome 80+, Edge 80+, Firefox 75+, Safari 13.1+
Dark UI with three radio button options. The selected option has a vibrant pink and blue neon circle drawn around it with an elastic, bouncy animation.

Neon Elastic Stroke Radio Button

demo & code

This Neon Elastic Stroke Radio Button reimagines the standard form input as a high-energy, futuristic interface element. When selected, two overlapping SVG circles (one pink, one blue) animate around the checkmark area with a satisfying elastic “bounce.” The effect mimics a neon light tube flickering on, enhanced by CSS drop-shadow filters and mix-blend-mode for a vibrant, glowing finish.

Level: Intermediate
Browser Support [As of Feb 2026]: Chrome 50+, Edge 79+, Firefox 50+, Safari 10+
Minimalist form controls including checkbox, radio button, and toggle switch, featuring organic shapes and blue active states.

Elastic SVG Morphing Form Controls

demo & code

This Elastic SVG Morphing Form Controls set redefines standard UI elements by treating them as organic, malleable shapes. Instead of rigid CSS transitions, it utilizes GSAP’s MorphSVGPlugin to physically warp the vector paths of checkboxes, radio buttons, and switches during interaction. The result is a tactile, “gummy” feel where elements squish upon clicking and snap elastically into their active states.

Level: Advanced
Browser Support [As of Jan 2026]: Chrome 80+, Edge 80+, Safari 13+, Firefox 75+
Jiggly Radio Buttons

Jiggly Radio Buttons

A playful radio button component featuring a “jelly” physics simulation.

See the Pen Jiggly Radio Buttons.

Segmented/Pill Radio Input

Segmented/Pill Radio Input

A sliding segmented control that uses CSS Custom Properties calculated via JS to animate a pseudo-element background. The layout relies on flexbox for equal distribution, while calc() dynamically positions the “pill” based on the active index, enhanced by a springy cubic-bezier transition.

See the Pen Segmented/Pill Radio Input.

Retro Futuristic Radio Buttons with GSAP v8

Retro Futuristic Radio Buttons with GSAP v8

When switching options, the user experiences a sharp, ’electric’ fill animation, reminiscent of a glitch in the matrix or a futuristic terminal interface.

Retro Futuristic Radio Buttons with GSAP v9

Retro Futuristic Radio Buttons with GSAP v9

Clicking an option triggers a sharp, ’electric’ fill animation with colored strips, reminiscent of a futuristic terminal interface or a glitch in the matrix.

Radio Button Interactions with GSAP

Radio Button Interactions with GSAP

Experience a fluid micro-interaction built with GSAP, where the animation state is fully reversible for a seamless toggle effect. The distinctive bouncy motion is crafted using the back.inOut(3) ease.

Liquid Gooey UI Elements

Liquid Gooey UI Elements

Explore the powerful tandem of GSAP and CSS Variables, where to/fromTo with keyframes control SVG elements inside Radio/Checkbox/Switch. The animations utilize the feColorMatrix filter (the “Gooey” effect) and SVG transforms to create smoothly “flowing” shapes and stylish toggles.

See the Pen Liquid Gooey UI Elements.

Rolling Radio Buttons Effect

Rolling Radio Buttons Effect

“Rolling” radio buttons with a unique animation: the selected element smoothly translates to the label, and transition-delay for adjacent elements is dynamically flipped via a pure CSS and JS class for a sequential rolling effect.

See the Pen Rolling Radio Buttons Effect.