Quick start
Install liqui and put a glass surface on screen.
liqui is a set of liquid-glass components built on Base UI primitives. Components arrive as source code in your project through the shadcn CLI; only the refraction kernel stays a dependency.
It comes out of Liquid Glass Design, a gallery of liquid glass references — this is the part of that collection you can install.
Install
Adding a component is the whole setup:
npx shadcn@latest add https://liqui.design/r/button.jsonThat writes components/ui/button.tsx into your project, adds the glass design
tokens to your globals.css, and installs
@liqui-design/glass — the SVG
filter registry, displacement-map generator and browser fallbacks. That package
is the one part of liqui you are not meant to edit; everything else lands in
your repo as plain TSX.
Installing more than one? Register the namespace once in components.json and
drop the URLs:
{
"registries": {
"@liqui-design": "https://liqui.design/r/{name}.json"
}
}npx shadcn@latest add @liqui-design/button @liqui-design/select@liqui-design/button is a registry item, not an npm package —
@liqui-design here is a key you just defined in your own
components.json, and it resolves through the shadcn CLI. npm i @liqui-design/button will not work. The only thing that comes from npm is
@liqui-design/glass, and the CLI installs it for you.
Building your own surfaces on top of LiquiGlass instead? The theme is
installable on its own — it is what every component above pulls in:
npx shadcn@latest add https://liqui.design/r/liqui.jsonAlready using shadcn/ui? liqui is built on the same Base UI base
(shadcn init -b base), so your existing components.json, cn() and
Tailwind token setup carry over unchanged.
Use it
import { Button } from '@/components/ui/button';
export default function Page() {
return (
<main className="min-h-dvh bg-[url(/wallpaper.jpg)] bg-cover p-10">
<Button variant="accent">Continue</Button>
</main>
);
}Note the background. Glass refracts what is behind it, so a surface on a flat fill has nothing to show — see Glass before you judge how it looks.
Requirements
- React 18 or 19
- Tailwind CSS v4
- Refraction renders in Chromium; Safari and Firefox fall back to frosted blur automatically