Skip to content

Grain

Film-grain noise overlay for the whole page or a single element, built from one cached SVG tile, with optional jitter and any blend mode.

Installation

pnpm dlx shadcn@latest add @portfolio-kit/grain
First time? Add the @portfolio-kit registry to components.json
components.json
{
  "registries": {
    "@portfolio-kit": "https://www.parthjadhav.com/products/portfolio-kit/r/{name}.json"
  }
}

Usage

Examples

On an image

Scope grain to one cover with position="absolute". An overlay blend keeps the noise in the mid-tones, like film.

Intensities

Film grain lives between 0.04 and 0.12 opacity; push past 0.2 only for deliberately gritty, poster-like surfaces. Same artwork, four strengths.

API Reference