About
A decorative film-grain noise overlay, built from a tiny SVG filter tile, for adding texture over a hero, card or the whole page, with an optional animated jitter.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Grain Overlay to your project and fits it to your theme.
Code
How Grain Overlay is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import { Grain } from "@/components/ui/grain";
export default function GrainDemo() {
return (
<div className="flex min-h-screen w-full items-center justify-center bg-background p-10">
<section className="relative w-full max-w-md overflow-hidden rounded-xl bg-gradient-to-br from-neutral-800 to-neutral-950 p-10 text-neutral-50">
<h2 className="font-display text-2xl tracking-tight">Old harbour</h2>
<p className="mt-2 text-sm text-neutral-300">
A tile of SVG noise laid over the surface, so the gradient feels like
film instead of a flat render.
</p>
<Grain opacity={0.2} animated />
</section>
</div>
);
}
















