Glassmorphism Generator
Dial in a frosted-glass card — blur, tint, border highlight, corner radius and shadow — previewed floating over a genuinely animated background so blur quality is visible in motion.
Result
backdrop-filter: blur() is the CSS property behind the frosted-glass look — a translucent panel that blurs whatever moves behind it rather than just fading a flat color. The catch is that blur quality is nearly impossible to judge against a static swatch; it only reads as convincing once something is actually moving underneath it, the way it will on a real page with content, video or an animated hero. This generator puts the preview card over a genuinely animated background instead of a still one, so what you see while dragging the sliders is what visitors will actually experience.
The background is a real CSS animation: a large linear-gradient painted at 400% of the element's size, with @keyframes shifting its background-position back and forth on a loop — no JavaScript animation loop, no canvas, just the same continuous background-position technique used in production hero sections. Blur, tint color and opacity, border highlight color/opacity/width, corner radius and shadow softness all drive the floating card's live styles, and the copyable CSS box mirrors the exact same values.
Not every browser supports backdrop-filter, so the generator also emits a real @supports not (backdrop-filter: blur(1px)) block — not a token gesture, but a fallback rule with its own background color computed from your actual tint opacity. Because translucency without blur looks noticeably worse (whatever is behind it shows through unblurred), the fallback automatically raises the alpha channel above your chosen tint opacity, and a comment in the generated CSS explains exactly why and by how much.
Everything computes and renders in your own browser: no upload, no account, no server round-trip. Copy the CSS once the card looks right, drop it on any element you want to sit above a photo, video or gradient, and keep the @supports block so older browsers still get a readable, more opaque card instead of a barely visible one.