How do you create hover interactions that engage your visitors? These 48 hover effects cover every style: scale, glow, 3D tilt, content reveal and animated underlines. Essential for cards, buttons, links and images on any website.

Scale & Rotate

Scale & Rotate

Scale up with a slight rotation.

CSS Transform
BG Slide

Background Slide

The background slides from left to right.

CSS Background
Border

Border Gradient

Gradient border that appears on hover.

CSS Border
Shine

Shine Effect

Light reflection that sweeps across the element.

CSS Light
Underline

Underline Expand

Line that expands from the center.

CSS Line
🚀 Bounce

Icon Bounce

The icon bounces on hover.

CSS Animation
Color

Color Shift

Smooth color transition.

CSS Color
Blur

Blur Reveal

The blurred element becomes sharp on hover.

CSS Filter
Inset

Shadow Inset

Glowing inner shadow.

CSS Shadow
Tilt

Tilt 3D

Perspective tilt on hover.

CSS 3D
Shutter

Shutter Reveal

Shutter effect that opens on hover.

CSS Reveal
Glitch

Glitch Hover

RGB glitch effect on hover.

CSS Glitch
Fill Up

Fill Up

Bottom-to-top fill with ease-quart curve. Inspired by Daily Delights.

CSS Fill Bezier
Filter

Filter Animated

GPU-optimized CSS filter animation with will-change.

CSS Filter GPU
Spotlight

Spotlight Effect

Spotlight effect that follows the cursor on the element.

JS Mouse Light
Magnetic

Magnetic Pull

The element is attracted to the cursor with a magnetic effect.

JS Mouse Physics
Elastic

Elastic Scale

Scale up with elastic curve and natural bounce.

CSS Bezier Scale
Gradient

Gradient Shift

Animated gradient that speeds up on hover for a dynamic effect.

CSS Gradient Animation
423 likes

Like Heart

Like button with pop animation, propagation ring and colorful particle burst on click.

CSS Animation Interactive
Save Favorites

Bookmark Toggle

Save button with drop animation, background fill and color transition.

CSS Toggle Animation

Submit Button

Submit button with circular morphing, loading spinner and success check animation.

CSS JS States

Ripple Click

Material Design ripple effect on click. The wave spreads from the contact point and fades out.

CSS JS Material

Click to simulate

Pull to Refresh

Mobile pull-to-refresh simulation with rotating indicator, content displacement and loading spinner.

CSS JS Mobile
New notification!

Notification Bell

Bell with shake animation, counter badge with pop-in and sliding notification toast.

CSS JS Notification
Click to rate

Star Rating

Rating system with pop and rotation animation on each star. Dynamic labels based on the rating.

CSS JS Rating
Notifications
Airplane mode
Bluetooth

Switch with Icons

Switches with icons embedded in the knob, bounce animation and color change.

CSS Toggle Icons
npm install effect.labs
Copied!
sk-ab12...xz89
Copied!

Copy to Clipboard

Copy button with icon transition (copy → check), success color and "Copied" tooltip.

CSS JS Clipboard

Confetti Button

Button that triggers a colorful confetti burst with realistic gravity and rotation.

JS Canvas Animation
Draw with your mouse

Paint Brush

Glowing brush that leaves a colorful trail.

Canvas Draw Creative
Move your mouse

Repel Particles

Particles that flee from the cursor.

JS Particles Physics
HOVER ME

Text Scramble

Text that decodes on hover.

JS Text Decode
DRAG ME

Elastic Drag

Draggable element with elastic return.

JS Drag Spring
YOU WON!
Scratch to reveal

Scratch Reveal

Scratch to reveal the hidden content.

Canvas Reveal Game
CLICK ME
Click to transform

Morph on Click

Shape that transforms on each click.

CSS JS Transform
Type on your keyboard

Live Typing

Each character appears with animation.

JS Keyboard Animation
Click to activate

Sound Visualizer

Bars that react dynamically.

JS Audio Visual
M A G N E T I C
Move your mouse near the letters

Magnetic Letters

Letters attracted to or repelled by the cursor.

JS Physics Text
DRAG
ME
UP
Drag and release the balls

Gravity Drag

Elements that fall with gravity once released.

JS Physics Drag
Click to add balls

Gravity Simulation

Balls subjected to gravity with bounce.

JS Physics Interactive
Hover the rope

Elastic String

Elastic string that reacts to the cursor.

JS Elastic Mouse

Magnetic Field

Particles attracted by a magnetic field.

JS Magnetic Particles

Newton's Cradle

Pendulums with kinetic energy transfer.

JS Pendulum Energy
Move your mouse

Liquid Simulation

Drops that merge and separate.

JS Fluid Metaball
SPRING
BOUNCE
ELASTIC
Click the boxes

Spring Physics

Elastic animation with spring effect.

JS Spring Bounce

Collision Detection

Balls that bounce off each other.

JS Collision Physics
Move your mouse over the cloth

Cloth Simulation

Interactive cloth simulation.

Canvas Cloth Interactive
Click a ball to throw it

Newton's Cradle

Newton's cradle with energy transfer.

Canvas Physics Momentum
Drag the rope with your mouse

Rope Physics

Interactive rope with physics simulation.

Canvas Verlet Draggable

Frequently Asked Questions

What is the best hover effect for a card? +

The lift effect (translateY(-8px) + box-shadow) is the most popular and effective. It creates a sense of depth without being distracting. Add a border-color transition to enhance the visual feedback.

How to create an animated underline on hover? +

Use a ::after pseudo-element with position:absolute, bottom:0, height:2px, and width:0. On hover, animate width to 100%. For a center-out effect: left:50%, transform:translateX(-50%), animate width.

How to create a 3D tilt effect on hover? +

Listen for mousemove on the card. Calculate the cursor position relative to the center. Apply transform: perspective(1000px) rotateX(Xdeg) rotateY(Ydeg) with the calculated angles. Add a transition for smoothness.

Do hover effects work on mobile? +

No — there is no hover on touch devices. Use @media (hover: hover) to target only devices with a pointer. On mobile, replace with click/tap effects using :active or JavaScript.

How to animate an image on hover? +

The most popular effects: zoom (transform: scale(1.1) inside overflow:hidden), appearing overlay (pseudo-element with opacity), filter (grayscale to color), and clip-path revealing hidden content.