v0.3.0 Country flag bunting is here

Zeenat.jsAdorn the web.

Add tasteful seasonal and occasion-aware decorations to an existing React, Next.js or vanilla JavaScript site with one component or function call.

249 countries and territories. Horizontal or vertical flags.

npm install zeenat
  • SSR safe
  • Reduced-motion aware
  • Zero runtime dependencies
Live Zeenat scene
app/layout.tsxReact · Next.js
import { Zeenat } from "zeenat";

<Zeenat
  preset="bunting"
  flag="pakistan"
/>

One component. Existing application.

A decoration layer, not a redesign.

Zeenat mounts a fixed, clipped overlay above the page. Your layout, routes, content and controls stay exactly where they are.

import { Zeenat } from "zeenat";

export function App() {
  return <Zeenat preset="bunting" flag="pakistan" />;
}
React A typed component and scene API.Next.js App Router layouts stay Server Components.Vanilla A framework-neutral controller with full cleanup.

Eight built-in presets

Effects compose. Presets give them meaning.

Hang country flags for any occasion, celebrate a national day or choose a seasonal composition. Typed factories expose the options each preset supports.

Typed customization

Turn a preset down. Keep the types.

Seasonal factories expose only the options relevant to their composition. Disable an effect with false, or pass that effect’s public option type.

import { createWinterPreset } from "zeenat/presets/winter";

const quietWinter = createWinterPreset({
  snow: { count: 14, speed: "slow" },
  sparkles: false,
});
Customization guide

How do I decorate a website for an event?

Add the occasion without rebuilding the interface.

Zeenat.js adds a decorative overlay to an existing React, Next.js or vanilla JavaScript application. Choose a preset for a matching season or occasion, or compose individual effects for a campaign with its own visual language.

That makes it useful for holiday website decorations, seasonal effects, company anniversaries, product launches, national days and short-lived event campaigns—while keeping meaningful content in the host page.

Read the practical guide

Open source · MIT

Inspect every effect. Shape what comes next.

Zeenat.js is maintained in public by Talha and Zeenat.js contributors. Read the source, report an issue, propose an effect, or review every release.