*Glassmorphism* and *neumorphism* are two surface styles you'll see all over modern web design. **Glass** is the frosted-pane look — a translucent card that blurs whatever sits behind it, often layered over a colorful gradient or photographic backdrop. **Neumorphism** is the soft-plastic look — a card that appears to extrude (or sink) out of its surface, lit by paired light and dark shadows of the same hue as the background.
Both effects are pure CSS — no images, no JavaScript, no libraries. Glass relies on backdrop-filter: blur() plus a translucent fill and a thin border. Neumorphism is built from a pair of box-shadow declarations: one slightly darker than the surface, one slightly lighter, offset in opposite directions. The math is short, but tuning the values by hand until everything sits right takes a while. A generator skips that step.
This tool gives you sliders for every parameter that matters, a preview pane that sits on a configurable backdrop (so the glass effect actually has something to refract), and a one-click copy of the resulting CSS. Everything runs in your browser — paste the snippet straight into your stylesheet.
What you'll learn while playing with these surfaces
backdrop-filter is the property that powers glassmorphism — it blurs and saturates whatever is *behind* the element, not the element itself.
Glass needs a translucent fill (rgba(...) with low alpha) and a thin light border to look like real frosted material; remove either and the effect collapses.
Neumorphism uses **two** box-shadow declarations, not one: a darker shadow on the bottom-right and a lighter highlight on the top-left, both with the surface hue rather than pure black/white.
How to generate a glass or neumorphism surface step by step
1
Pick the style mode
Switch between **Glass** and **Neumorphism** at the top. Glass needs a backdrop; neumorphism sits on a flat surface color you control.
2
Tune the core parameters
For glass, the big levers are *blur* (how heavily the backdrop is smeared), *background opacity* (how translucent the card is), and *tint* (a faint color cast). For neumorphism, the big levers are *distance* (how far the shadows are offset), *blur* (how soft they are), and *intensity* (how much the light/dark companions differ from the surface).
3
Choose a backdrop or surface color
Glass shows best on a punchy gradient or photo. Neumorphism shows best on a soft, slightly off-pure color (#e0e5ec is the canonical "neumorphic grey"). The tool ships with a row of presets you can click.
4
Switch the neumorphism style
Neumorphism has three flavors: **Raised** (extruded), **Flat** (same shadows, no gradient fill), and **Inset** (pressed in). Try all three — they share the same shadow math, only the direction changes.
5
Copy the CSS
Hit **Copy** and drop the snippet into your stylesheet. The output is production-ready: it includes the vendor-prefixed -webkit-backdrop-filter for older Safari, ordered properties, and the matching border-radius so it works as a single class.
Classic glassmorphism. The saturate(180%) adds a hint of vivid color behind the blur — without it, frosted glass looks washed out. Drop this on a hero gradient or photo.
The two shadows do the heavy lifting: a darker one bottom-right and a brighter highlight top-left. The gradient fill adds a subtle sheen the eye reads as "plastic."
Add inset to both shadows and the card looks recessed instead of extruded — perfect for input fields and toggle backgrounds.
Common glass / neumorphism mistakes
Forgetting -webkit-backdrop-filter. Older Safari (and any embedded WebView) ignores backdrop-filter without the prefix and your glass becomes a solid block.
Using pure black and white for neumorphic shadows. Real-world neumorphism uses two colors **near** the surface hue — black/white shadows make the card look cheap.
Putting glass on plain white. There's no color behind the blur, so the effect disappears and you're left with a faintly tinted box. Glass needs a busy backdrop.
Glassmorphism Generator FAQ
What's the difference between glassmorphism and neumorphism?
Glassmorphism is the frosted-glass look — translucent card with a blurred backdrop showing through. Neumorphism is the soft-plastic look — an opaque card that appears to extrude (or sink) into its surface using paired light/dark shadows. They solve different visual problems and rarely appear together.
Does glassmorphism work on Safari and iOS?
Yes — but you need the -webkit-backdrop-filter prefix in addition to the standard backdrop-filter property. This generator emits both automatically. Without the prefix, older Safari and iOS WebViews fall back to the underlying background color and the glass effect disappears.
Is neumorphism accessible?
Plain neumorphism is famously hard to make accessible because the contrast between the card and the surface is intentionally low. If you use it, pair it with strong text contrast (≥ 4.5:1), visible focus rings, and ARIA labels on icon-only buttons — and avoid using neumorphism for elements that *must* stand out (errors, primary CTAs).
Why does my glass effect look washed out?
Two common causes: your backdrop has no color (glass over white = nothing to blur), or your blur radius is too low (under ~8px barely shifts the colors behind). Add a gradient or image behind the card and bump the blur to 12–20px.
Can I use these effects in production?
Yes. backdrop-filter is supported in every evergreen browser. box-shadow is universally supported. Just watch performance — backdrop-filter is a per-frame GPU operation, so keep the number of glass layers on a single screen small.