PureDevTools

CSS Backdrop Filter Generator

Build frosted glass and backdrop effects visually — copy the CSS with both -webkit- and standard properties

All processing happens in your browser. No data is sent to any server.
Presets
Filter Functions
0px
100%
100%
0%
0deg
0%
100%
100%
0%
Live PreviewGlass panel over gradient background
BACKDROP
Glass Panel
backdrop-filter preview
Generated CSS
-webkit-backdrop-filter: none;
backdrop-filter: none;

Move any slider or choose a preset to generate a backdrop-filter.

You’re building a modal overlay and want that frosted glass effect from macOS — the background blurs and slightly brightens behind a translucent panel. You know backdrop-filter: blur() exists, but the element needs a semi-transparent background (not transparent, not opaque), Safari still needs the -webkit- prefix, and combining blur with saturation and brightness to match the Apple aesthetic takes trial and error. Getting the values wrong gives you either an opaque box or an invisible effect.

Why This Tool (Not Hand-Tuning CSS)

backdrop-filter combines up to 9 different filter functions (blur, brightness, contrast, grayscale, hue-rotate, invert, opacity, saturate, sepia), and the interaction between them is non-obvious — adding saturate(140%) to a blur makes colors pop through the frost, while brightness(50%) creates a dark overlay instead of a light one. This tool gives you sliders for all 9 functions with a live frosted glass preview, presets for common effects (Frosted Glass, Dark Overlay, Vintage), and auto-generated CSS with both the -webkit- prefix and the standard property. Everything runs in your browser; your design choices stay on your device.

What Is CSS backdrop-filter?

The CSS backdrop-filter property applies graphical effects — such as blur, brightness, contrast, and color shifts — to the area behind an element, rather than to the element itself. This makes it the foundation for the popular frosted glass UI effect widely used in macOS, iOS, Windows, and modern web UIs.

Unlike the filter property (which affects the element and its content), backdrop-filter only processes the content visible through the element from layers below it. For the effect to be visible, the element must have some transparency — typically via background-color with an alpha value.

Supported Backdrop-Filter Functions

FunctionRangeDescription
blur(Xpx)0–50 pxGaussian blur applied to content behind the element
brightness(X%)0–200%Adjusts the brightness of the backdrop (100% = no change)
contrast(X%)0–200%Adjusts the contrast of the backdrop (100% = no change)
grayscale(X%)0–100%Converts the backdrop toward grayscale
hue-rotate(Xdeg)0–360 degRotates the hue of all colors in the backdrop
invert(X%)0–100%Inverts the colors of the backdrop
opacity(X%)0–100%Adjusts the opacity of the backdrop (100% = no change)
saturate(X%)0–300%Adjusts the color saturation of the backdrop
sepia(X%)0–100%Applies a sepia warm-tone shift to the backdrop

Multiple functions can be combined in a single backdrop-filter declaration and are applied in order.

How to Use This Tool

  1. Adjust sliders — Move any slider to change the corresponding filter function. Sliders at their default (identity) value are excluded from the output automatically.
  2. Apply a preset — Click a preset button (Frosted Glass, Dark Overlay, Light Overlay, Vintage, Blur Only) to load a curated set of values.
  3. Preview live — The frosted glass panel in the preview area shows the real-time effect applied over a sample background.
  4. Copy the CSS — Click Copy to copy the generated -webkit-backdrop-filter and backdrop-filter declarations ready to paste into your stylesheet.
  5. Reset — Click Reset to restore all sliders to their defaults.

Adding backdrop-filter to Your CSS

A typical frosted glass card looks like this:

.glass-card {
  background: rgba(255, 255, 255, 0.15);
  -webkit-backdrop-filter: blur(12px) saturate(140%) brightness(110%);
  backdrop-filter: blur(12px) saturate(140%) brightness(110%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 12px;
}

Key points:

Preset Effects Explained

Frosted Glass

blur(12px) saturate(140%) brightness(110%)

The classic macOS-style frosted glass. A moderate blur softens the background, while increased saturation and brightness make colors punch through the frosting with a slightly luminous feel. Pair with background: rgba(255,255,255,0.15) and a subtle white border.

Dark Overlay

blur(8px) brightness(50%) contrast(120%)

Creates a semi-dark overlay suitable for modal backgrounds, hero image overlays, and navigation drawers. The reduced brightness dims the background while increased contrast keeps edges readable.

Light Overlay

blur(6px) brightness(160%) contrast(90%)

A bright, washed-out overlay useful for tooltips, popovers, and sidebar panels on dark backgrounds. Brightness above 100% brightens the backdrop behind the element.

Vintage

brightness(90%) contrast(110%) grayscale(20%) saturate(80%) sepia(40%)

Combines partial grayscale, sepia warmth, and slightly reduced saturation for a retro photographic look. No blur — effective over image backgrounds where you want the image detail preserved but color-shifted.

Blur Only

blur(20px)

The simplest possible backdrop effect — just a strong Gaussian blur with no color manipulation. Useful when you want to obscure background content completely without changing colors.

Browser Support and the -webkit- Prefix

backdrop-filter has broad modern browser support but requires the -webkit- vendor prefix for Safari and iOS Safari:

BrowserSupport
Chrome 76+backdrop-filter (no prefix needed)
Firefox 103+backdrop-filter (no prefix needed)
Safari 9+-webkit-backdrop-filter (prefix required)
iOS Safari 9+-webkit-backdrop-filter (prefix required)
Edge 79+backdrop-filter (no prefix needed)

Always write both declarations for maximum compatibility:

-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);

Performance Considerations

backdrop-filter is GPU-accelerated in modern browsers, but heavy blur values (> 20px) on large elements can affect frame rates on lower-end devices. Recommendations:

Frequently Asked Questions

Why is my backdrop-filter not showing any effect? The element must have some transparency. If background-color is fully opaque (e.g., rgb(255,255,255) with no alpha), the backdrop filter has nothing to show through. Set background: rgba(255,255,255,0.15) or any semi-transparent color.

Does backdrop-filter work inside a transform or will-change? Yes, but with a caveat: elements with transform, filter, or will-change: transform create a new stacking context, which can clip the backdrop to the element’s own subtree in some cases. Test in both Chrome and Safari if you’re combining backdrop-filter with CSS transforms.

Can I animate backdrop-filter? Yes. backdrop-filter is animatable and transitions smoothly. Example:

.panel {
  backdrop-filter: blur(0px);
  transition: backdrop-filter 0.3s ease;
}
.panel.open {
  backdrop-filter: blur(12px);
}

What is the difference between filter and backdrop-filter? filter applies to the element and all its content (like a photo filter on a layer). backdrop-filter applies only to the area behind the element — the element’s own content is unaffected. For example, text inside a frosted glass card is rendered normally; only the background shows through the frost.

Is my design data sent to a server? No. All CSS generation happens entirely in your browser. No data is transmitted anywhere and nothing is tracked.

Related Tools

More CSS Tools