CSS Glow Hover Effect - Online Animated Box Shadow
Design a button or card that glows on hover. Adjust shadow color, spread, and transition. Copy the CSS. Rich UI.
UD5 Toolkit
Visual cubic-bezier curve builder & live preview
transition: all 0.5s cubic-bezier(0.25, 0.1, 0.25, 1) 0s;
ease, which starts slow, speeds up, then slows down at the end. Custom timing functions use cubic-bezier() to define precise acceleration curves, giving you full control over the animation feel.
cubic-bezier() defines a cubic Bézier curve with four control points. The first point is always (0, 0) and the last is always (1, 1). You specify the two middle control points: P1(x1, y1) and P2(x2, y2). The x-axis represents time (0 to 1), and the y-axis represents the animation progress (0 to 1). The curve shows how the animation progresses over time — steep sections mean fast movement, flat sections mean slow or paused movement.
cubic-bezier(0.68, -0.55, 0.265, 1.55) has y1 below 0 and y2 above 1, creating a playful bounce. Values below 0 cause the animation to briefly go in reverse before moving forward. Values above 1 cause it to overshoot the target before settling.
0.42, 0, 1, 1): Starts slowly and accelerates toward the end. Best for elements entering the screen.0, 0, 0.58, 1): Starts fast and decelerates. Best for elements exiting or settling into place.0.42, 0, 0.58, 1): Slow start, fast middle, slow end. Symmetrical and great for looping animations or elements moving between two states.
* { transition-timing-function: cubic-bezier(...); } or to specific elements. You can also use CSS custom properties: :root { --my-ease: cubic-bezier(0.25, 0.1, 0.25, 1); } then reference it with transition-timing-function: var(--my-ease);.
transform and opacity are highly performant because they can be GPU-accelerated and don't trigger layout recalculations. Transitions on properties like width, height, or margin trigger layout shifts and are more expensive. For best performance, stick to transform and opacity for animations, and use will-change sparingly on elements that will animate.
linear (0, 0, 1, 1) creates a perfectly uniform animation with no acceleration or deceleration. The progress moves at a constant speed from start to finish. It appears as a straight diagonal line on the curve graph. While it sounds ideal, it often feels mechanical and unnatural to users — most real-world motion has some easing.
cubic-bezier() values work identically for animation-timing-function in @keyframes animations. You can apply them to the entire animation or to individual keyframe steps. The curve principles are the same — use this playground to find the perfect easing, then use it in your animations.
Design a button or card that glows on hover. Adjust shadow color, spread, and transition. Copy the CSS. Rich UI.
Create a glowing or rotating border animation around an element. Copy the CSS keyframes. Pure CSS magic.
Apply text‑wrap: balance to headings and paragraphs. See the visual difference and copy the CSS. Avoid orphans.
Apply text‑emphasis marks (filled dot, open circle, etc.) with color. Ideal for East Asian typography. Copy the style.
Explore the new two‑value display syntax like `display: block flex`. See what each inner/outer pair does visually.
Create the iPhone Dynamic Island look‑alike with a pill that expands on hover. Pure CSS. Copy the playful code.
Type any condition and see the result of the ternary operator. Understand truthy/falsy values. Quick learning tool.
Type any CSS selector with :hover/:active/:focus and see the styles applied live. Perfect for debugging interaction states.
Set a short timer with a themed emoji animation (e.g., pizza cooking). A playful visual countdown.
Apply an emboss filter to your photo. Choose direction and depth. Gives a 3D carved stone look. Pure canvas.
Enter task names, start dates, and durations to generate a simple Gantt chart as an image. Quick project view.
Create a zoom lens effect for product images. Move the cursor to magnify. Copy the HTML/CSS/JS code.
Upload two portraits and create a simple morph animation between them. Download as GIF. Local canvas magic.
Use the abs() and sign() CSS functions to create interesting layouts. See computed values live. Cutting‑edge CSS.
Turn your message into a scenic mountain emoji art panel. Choose different landscapes. Copy and paste anywhere.
Add recurring bills with amounts and see a monthly calendar with due date indicators. Simple finance organizer.
Paste your CSS and see a static fallback version where var() is replaced with the default value. For legacy support.
The original arcade Pong recreated in HTML5. Play against AI or local two‑player. Score up to 11 and win. Pure retro fun.
Track daily mood with emoji selection and optional notes. See weekly/monthly mood trends in a color-coded chart. All data stored privately in localStorage.
Enter a mathematical function for dx and dy and see the vector field arrows. Perfect for studying differential equations.
Select an emoji that matches your mood and log it to a simple calendar. Self‑awareness tool. Local only.
Set start date and egg type (chicken, duck, quail) to generate a hatching timeline with milestone alerts (lockdown, pip, hatch). Local only.
Preview the Gravatar image associated with any email address. Generate the correct Gravatar URL. Handy for avatar debugging.
Get a random, lighthearted daily horoscope based on your zodiac sign. For entertainment only. No personal data collected.
Paste text and see a sorted count of all emojis used. Find your most‑used emoji. Fun analytics. All local.
Get a humorous, randomly generated daily horoscope for any zodiac sign. Not real astrology; purely for laughs.
Transliterate English letters into Elder Futhark runes. Fun for tattoos and fantasy. One‑to‑one mapping.
Select a state and year to see all public holidays. Works offline with built-in data. Plan your long weekends. Simple reference tool.
Select a country and year to see every public holiday. Static data for major countries. Plan your vacations.
Plan insulin or other injection sites with a visual body map and date log. Prevent lipohypertrophy.