The backdrop-filter property applies graphical effects such as blur or color shift to the area behind an element. The panel’s own text stays sharp while the backdrop softens or changes color.
To see the effect, the element needs a transparent or semi-transparent background, and something must sit behind it. Use it for frosted overlays, sticky bars, and glass cards. To filter the element itself, use filter instead.
Baseline 2024 · Newly available.
Not deprecated and not experimental. Unprefixed support across major browsers is Baseline Newly available since September 2024. Older Safari often still needs -webkit-backdrop-filter.
The initial value is none. Filter functions match filter: blur(), brightness(), contrast(), grayscale(), hue-rotate(), invert(), opacity(), saturate(), sepia(), and drop-shadow(). Chain several with spaces.
filter blurs the element and its children. backdrop-filter blurs what is behind. Do not swap them when you want glass UI.
prefix
Older Safari may need a prefix
Unprefixed support is Baseline Newly available from Safari 18. For older Safari, also set -webkit-backdrop-filter to the same value.
Compatibility
Browser Support
backdrop-filter is a browser CSS property for visual effects. Node.js, Deno, and Bun do not apply it.
✓ Baseline 2024 · Newly available
backdrop-filter
Chrome 76+, Edge 79+, Firefox 103+, Safari 18+ (unprefixed). Older Safari: use -webkit-backdrop-filter. Internet Explorer: none.
97%Modern browser support
Google Chrome76+
Full support
Mozilla Firefox103+
Full support
Apple Safari18+ unprefixed · 9+ with -webkit-
Full support
Microsoft Edge79+
Full support
Opera64+
Full support
Samsung Internet12+
Full support
Internet ExplorerNo support
Not supported
backdrop-filterWidely supported
Bottom line: Safe for modern browsers as progressive enhancement. Keep a readable rgba or solid background so content works when blur is missing. It is not a runtime API.
Remember
Key Takeaways
Role: filter the pixels behind an element, not the element itself.
Needs transparency: a semi-transparent background and visible content behind the panel.
Not filter:filter changes the element; backdrop-filter changes the view through it.
Initial value:none. It is not inherited. Watch for backdrop roots on parents.
One line: translucent panel + content behind it + backdrop-filter = frosted glass without blurring the text.
Frequently Asked Questions
It applies filter effects such as blur, brightness, or grayscale to the pixels painted behind an element. The element’s own text and children stay sharp.
The element needs a transparent or semi-transparent background so the backdrop can show through, and there must be visible content behind it. A fully opaque background hides the effect.
filter changes the element and everything inside it. backdrop-filter changes only the area visible through the element, which is why it is used for frosted glass overlays.
Yes. List them in one declaration, separated by spaces, for example backdrop-filter: blur(10px) saturate(150%);.
An ancestor with opacity less than 1 becomes a backdrop root. The filter then only sees content inside that ancestor, not the page behind it. The same happens with filter, mask, mix-blend-mode, and will-change on those properties.
It is Baseline Newly available since September 2024. Chrome 76+, Edge 79+, Firefox 103+, and Safari 18+ support the unprefixed property. Older Safari often needs -webkit-backdrop-filter. Internet Explorer has no support. It is a browser CSS property, not a Node.js feature.