The backdrop-filter property applies CSS filter functions to the area behind an element, visible through its transparent or semi transparent background layer.
Loading Filter Effects Builder…
Live preview of backdrop-filter: blur() frosted glass panels
Generate the -webkit-backdrop-filter prefix line for Safari support
Preview backdrop-filter with brightness and saturation adjustments
Performance cost guidance and fallback background-color patterns
Drop the Filter Effects Builder into any page — blog post, product docs, intranet, school portal — with a single line of HTML. Your visitors get the full tool, processed entirely in their browser. No backend, no uploads, no signup.
Embed code
<iframe
src="https://www.fixtools.io/css-tool/filter-effects-builder?embed=1"
width="100%"
height="780"
frameborder="0"
style="border:0;border-radius:16px;max-width:900px;"
title="Filter Effects Builder by FixTools"
loading="lazy"
allow="clipboard-write"
></iframe>Attribution-friendly: a small "Powered by FixTools" link appears in the embed footer.
The backdrop-filter property takes effect only when the element has a background that is not fully opaque, since the filter operates on whatever is visible through that background. For a fully opaque background-color, the content behind the element is not visible and backdrop-filter has no rendered effect, which is the most common explanation for a frosted glass rule that appears to do nothing. The typical frosted glass setup combines backdrop-filter: blur(12px) with background: rgba(255,255,255,0.4) or a similar semi transparent colour that lets the blurred backdrop show through. The browser renders all content behind the element, applies the backdrop-filter to that rendered output in a separate compositing pass, then draws the semi transparent panel colour over the filtered result. The visible outcome is the characteristic milky, blurred glass aesthetic familiar from operating system UI. Increasing the background opacity from 0.4 toward 1 progressively hides more of the blurred backdrop until the panel becomes effectively solid at full opacity.
Safari requires the -webkit-backdrop-filter prefix for versions prior to Safari 15.4, which shipped in March 2022 and is still missing on a meaningful percentage of older iPhones and iPads that no longer receive iOS updates. Both prefixed and unprefixed lines should be included in your CSS for broad compatibility: write -webkit-backdrop-filter: blur(12px); first, followed by backdrop-filter: blur(12px); on the next line. The prefixed line handles older Safari on macOS and iOS, and the unprefixed line handles all other modern browsers and current Safari. Firefox supported backdrop-filter in stable releases from Firefox 103, released in July 2022. For projects that need to support Firefox 102 and earlier, a CSS fallback using a more opaque background-color such as rgba(255,255,255,0.9) maintains panel readability when the blur effect is unavailable. The @supports (backdrop-filter: blur(1px)) CSS at-rule detects support and applies different background-color values accordingly inside its block.
Performance cost is the primary concern with backdrop-filter in production code, especially on lower powered mobile devices and tablets. The browser must composite all content behind the panel into a separate off-screen buffer, apply the filter to that buffer on every frame the backdrop content can change, then blend the filtered output with the panel layer above. This requires a GPU compositing layer for the backdrop, another for the filtered output, and a third for the foreground panel and its content. The cost scales with the element size in screen pixels and the complexity of the filter functions used. A small frosted glass card occupying a fraction of the viewport is inexpensive. A full screen modal overlay with backdrop-filter: blur(20px) on a content heavy page can cause visible frame drops on mid range Android devices and older iPhones. Test with Chrome DevTools Performance panel under 4x CPU throttle before shipping large backdrop-filter elements to production. For performance sensitive contexts, a semi opaque background without blur is a practical and graceful fallback that still communicates a layered surface.
Beyond pure blur, backdrop-filter supports the full filter function vocabulary, which opens design directions that go well past the typical frosted glass look. Combining backdrop-filter: blur(8px) saturate(1.4) on a panel over a colourful background produces a more vivid version of the underlying gradient or photograph showing through the panel, which can give marketing pages a richer sense of depth than blur alone. Using backdrop-filter: blur(20px) brightness(0.7) creates a darkened, smoked glass effect that helps modal dialog content stand out against busy page backgrounds without resorting to a black scrim. For dark mode UI, backdrop-filter: blur(14px) brightness(1.1) brightens the backdrop slightly behind the panel to lift it from very dark hero backgrounds, restoring some visual separation that pure blur on dark colours cannot provide. Experiment with the FixTools live preview against representative content rather than a plain colour swatch, since the interaction between filter functions and real backgrounds is what determines whether the result reads as polished glass or muddy noise.
Set backdrop-filter: blur() to the target radius and adjust the panel background-color opacity to control how much of the blurred content shows through. Copy the generated CSS including the -webkit- prefix line for Safari compatibility.
Step-by-step guide to css backdrop filter generator:
Set backdrop-filter: blur() value
Drag the blur radius slider in the FixTools filter effects builder to set the background blur intensity behind the panel. Values of 8px to 16px are typical for frosted glass panels in production marketing and product UI. Larger panels and full screen overlays benefit from lower values to reduce per frame GPU cost on mobile devices, while small badges and tooltips can use higher radii without measurable impact.
Set the panel background-color opacity
Adjust the background-color alpha value using the opacity slider in the colour controls. A value of 0.3 to 0.5 shows more of the blurred backdrop and reads as light glass, while 0.6 to 0.8 shows less of the backdrop and reads as a more solid frosted panel. The panel background must not be fully opaque for backdrop-filter to have any visible effect, since a fully opaque colour hides the filtered backdrop entirely.
Add additional backdrop filter functions if needed
Combine backdrop-filter: blur() with brightness() or saturate() inside the same declaration for tinted or colour shifted glass effects. All functions participate in the same backdrop processing pass and apply in the order written. brightness(0.85) darkens the backdrop for a smoked glass appearance, while saturate(1.3) intensifies the colours visible through the panel for a richer, more dimensional surface on colourful page backgrounds.
Copy the CSS with the -webkit- prefix
Copy both the -webkit-backdrop-filter and backdrop-filter declarations from the output panel. Paste both into your stylesheet in that order, with the prefixed line first so older Safari versions read it before the unprefixed line. Add a @supports (backdrop-filter: blur(1px)) fallback block with an opaque background-color for browsers without support, ensuring the panel remains readable on every browser your audience uses.
Common situations where this approach makes a real difference:
Sticky navigation bar with frosted glass
A SaaS product site uses a sticky header that overlaps page content on scroll. The developer applies -webkit-backdrop-filter: blur(8px) and backdrop-filter: blur(8px) with background: rgba(255,255,255,0.75) to the header. The 8px radius is chosen over a higher value to reduce per-scroll-frame processing cost. The 0.75 opacity ensures header links are readable across all background content, including dark hero images near the top of the page.
Frosted glass modal overlay
A confirmation dialog overlays a content-rich page. The developer uses backdrop-filter: blur(6px) brightness(0.85) with background: rgba(0,0,0,0.3) on the modal overlay element, producing a darkened, blurred view of the page behind the dialog. The generator outputs the -webkit- prefix line and both declarations. The @supports fallback uses background: rgba(0,0,0,0.7) for browsers without backdrop-filter support.
Toast notification with glass background
A web app notification toast appears over varied page content in the bottom-right corner. The developer applies -webkit-backdrop-filter: blur(10px) and backdrop-filter: blur(10px) with background: rgba(30,30,30,0.6) to the toast element, producing a dark frosted glass appearance. The notification is small enough that the GPU cost of the backdrop-filter is acceptable on mobile devices.
Feature section card with glass treatment on dark background
A product landing page has a features section with a deep gradient background. Feature cards use -webkit-backdrop-filter: blur(12px) saturate(1.3) and backdrop-filter: blur(12px) saturate(1.3) with background: rgba(255,255,255,0.08) for a subtle, barely-visible glass card on the dark background. The saturate() addition makes the background gradient colours behind each card appear slightly more vivid, enhancing the glass material impression.
Get better results with these expert suggestions:
Use isolation: isolate to fix backdrop-filter stacking context issues
If a parent element has transform, will-change, or filter applied, it creates a new compositing context that backdrop-filter cannot sample through. The backdrop becomes the composited parent layer rather than the full page background. Adding isolation: isolate to the correct ancestor can resolve the issue, but in complex cases, restructuring the element hierarchy to remove the conflicting compositing properties is more reliable.
Combine backdrop-filter with brightness for a tinted glass effect
backdrop-filter: blur(10px) brightness(0.9) applies both blur and a slight darkening to the background content visible through the panel. This produces a darker, smoked glass aesthetic compared to blur alone. Adjust brightness above 1 for a lighter, bleached glass effect. Combining multiple backdrop-filter functions follows the same order-dependent rules as the filter property.
Reduce blur radius for navigation and persistent panels
A persistent navigation bar with backdrop-filter: blur(20px) reprocesses the blur on every scroll frame, as the background content behind it changes continuously. Reducing the blur radius to 6px to 8px halves the per-frame processing cost while maintaining the visual glass effect. The user rarely focuses on the exact blur intensity of persistent panels, making smaller values a reasonable performance trade-off.
Test backdrop-filter on actual page content, not colour swatches
A backdrop-filter preview against a solid colour swatch does not reveal how the blur interacts with actual page typography, images, and UI components. Test the glass panel over your real page content at multiple scroll positions to confirm the blurred backdrop reads correctly and the foreground panel content remains legible at all background combinations.
Always include the -webkit-backdrop-filter prefix
Write -webkit-backdrop-filter before the unprefixed backdrop-filter in the CSS declaration order. This covers Safari versions before 15.4. Omitting the prefix means iOS Safari users on older devices see an unblurred panel with full background transparency, which can make text unreadable.
Add a fallback background using @supports
Wrap frosted glass styles in @supports (backdrop-filter: blur(1px)) { } and declare a more opaque fallback background-color outside the @supports block. Browsers without backdrop-filter support apply the opaque fallback, maintaining panel readability.
Add a subtle border to define the glass panel edge
A frosted glass panel with no border can look undefined against certain backgrounds. Adding border: 1px solid rgba(255,255,255,0.25) provides a highlight edge that reads as a physical glass surface and helps the panel stand out on both light and dark backgrounds.
More use-case guides for the same tool:
Other tools you might find useful:
Open the full Filter Effects Builder — free, no account needed, works on any device.
Open Filter Effects Builder →Free · No account needed · Works on any device