Skip to content
JustTools

CSS Glassmorphism Generator

Design a frosted-glass card over a real background, see straight away whether text on it is readable, and copy the CSS — with the Safari prefix and fallbacks already written.

Runs in your browser Free · no sign-up

At a glance

  • Writes the glass effect with backdrop-filter (blur and saturation), a see-through tint, a light border, a shadow, an optional sheen and grain.
  • Checks text contrast on the glass as you work: it blurs, saturates and tints the background under the card, as the browser does, and reports the lowest ratio against the WCAG AA 4.5:1 target — with the tint opacity that would fix it.
  • -webkit-backdrop-filter is written first: Safari needed the prefix until Safari 18. Chrome has supported backdrop-filter since version 76 and Firefox since version 103.
  • Optional fallbacks give a solid, readable background to browsers that cannot blur and to people who switch on Reduce transparency (the prefers-reduced-transparency media query, in Chrome and Edge since version 118).
  • Copy CSS, Tailwind CSS v4 classes, a React style object or a complete demo page. Every Tailwind class was checked against Tailwind’s own compiler.
  • Try the glass on five built-in backgrounds or on your own photo, which stays on your device.

Step by step

How to make a glassmorphism effect in CSS

  1. 1

    Pick a preset

    Start from Frosted, Dark glass, Colour tint, Acrylic or Smoke.

  2. 2

    Choose a background

    Try the built-in backgrounds, or Use your own photo — a screenshot of the page where the glass will sit is best.

  3. 3

    Adjust the glass

    Set the tint and its opacity, the blur and saturation, the corners, border, shadow, sheen and grain. Drag the card around the preview.

  4. 4

    Check the text

    Read the contrast line under the preview. If it is below 4.5:1, use the suggested tint opacity or change the text colour.

  5. 5

    Copy the code

    Choose CSS, Tailwind, React or Demo page, then Copy or Download.

Features

Everything you need, nothing you don’t

Readable glass, not just pretty glass

Light text on light glass is the classic glassmorphism mistake. The contrast check follows the card as you drag it and suggests the tint opacity that makes text pass.

A real background

Blur is only visible over something with edges. The backgrounds have colour blobs and sharp shapes, and you can drop in a screenshot of your own site.

Production-ready CSS

Prefixed for older Safari, layered backgrounds one per line, fallbacks with a colour that keeps your text readable, and nothing you switched off.

Tailwind and React too

Named Tailwind utilities where they exist (backdrop-blur-lg, rounded-3xl) and exact arbitrary values where they do not; React gets a style object with WebkitBackdropFilter.

Presets to start from

Frosted, dark glass, colour tint, acrylic with grain and smoke — each one readable on its background.

Private

Everything runs in your browser. Your photo is never uploaded, and your settings are saved only on this device.

What glassmorphism is

Glassmorphism is a style of interface where cards, menus and panels look like frosted glass: you can see colours and shapes behind them, softly blurred, while text on top stays sharp. Apple uses it across macOS and iOS, Windows calls its version acrylic, and it became a web design trend in 2020.

In CSS the effect comes from one property, backdrop-filter, which blurs whatever is behind an element. It only shows when the element’s own background is partly transparent — a solid background hides the blur completely.

The CSS behind the effect

PropertyTypical valueWhat it does
backgroundrgba(255, 255, 255, 0.25)the tint: a see-through colour; lower opacity shows more of the background
backdrop-filterblur(16px) saturate(180%)blurs what is behind; saturation above 100% makes those colours richer
-webkit-backdrop-filterthe samethe same, for Safari before version 18
border1px solid rgba(255, 255, 255, 0.45)a light edge that separates the glass from the background
box-shadow0 6px 21px rgba(0, 0, 0, 0.14)lifts the card; an inset line can add a bright top edge
border-radius24pxrounded corners, typical of glass surfaces

Keeping text readable on glass

Text on glass sits on a background that changes from place to place, so it can be readable in one corner and not in another. WCAG 2 asks for a contrast of at least 4.5:1 for normal text and 3:1 for large text. This tool measures the glass over the whole card and reports the weakest spot.

If text is hard to read, raise the tint opacity, blur more (which evens out the background), switch between dark and light text, or give the text its own slightly darker or lighter panel.

Browser support

Figures from MDN’s browser compatibility data, October 2026. Browsers without the media query simply ignore it, so the fallback is safe to keep.

Browserbackdrop-filterprefers-reduced-transparency
Chrome and Edgesince version 76since version 118
Firefoxsince version 103behind a setting only
Safari (macOS and iOS)since 18; with -webkit- since 9not supported

FAQ

Frequently asked questions

Why does my backdrop-filter blur not show?

Usually because the element’s background is solid — the blur is behind it, so make the background partly transparent. Also check that there is something behind the element to blur. If a parent element has its own filter, opacity below 1, a mask or a backdrop-filter, the specification says the blur only sees what is inside that parent (it calls this the backdrop root).

Do I still need -webkit-backdrop-filter?

Only for Safari 17 and older, which understood the prefixed name only. Safari 18 and every current Chrome, Edge and Firefox read backdrop-filter. Keeping both lines costs nothing, so the tool writes both.

How do I make glassmorphism in Tailwind CSS?

Use a semi-transparent background, a backdrop blur and a light border, for example bg-white/25 backdrop-blur-lg backdrop-saturate-180 border border-white/45 rounded-3xl. Open the Tailwind tab to get the classes for your exact settings.

Is glassmorphism bad for performance?

backdrop-filter makes the browser redraw what is behind the element whenever it changes, which costs more on large areas, big blur values and older phones. Use it on cards, menus and dialogs rather than whole pages, and avoid stacking many glass layers on top of each other.

What is the difference between glassmorphism and neumorphism?

Glassmorphism is see-through: a blurred view of what is behind. Neumorphism is solid: soft light and dark shadows make an element look pressed out of, or into, the same coloured surface. Try the CSS Neumorphism Generator for that look.

What does “Reduce transparency” do with my glass?

Some people switch on Reduce transparency because see-through surfaces are tiring or hard to read. With Add fallbacks on, the CSS gives them a solid surface through the prefers-reduced-transparency media query, in a colour that keeps your text readable.

Can it make Apple’s “Liquid Glass” look?

Not the bending of light at the edges: that needs an SVG displacement filter inside backdrop-filter, which for now works only in Chromium browsers such as Chrome and Edge. This tool makes the frosted glass that works in every current browser, and the bright top edge and sheen give some of the same feel.

Is my photo uploaded?

No. The photo is read by your browser to show it behind the glass and to measure contrast, and it is never sent anywhere or saved. Your slider settings are kept in this browser’s local storage only.

Keep going

Browse every tool

Last updated Report a problem or suggest a feature