Skip to content
PluginStats

nightwind weekly downloads statistics

By jjranalli · npm · Tailwind plugins

An automatic, overridable, customisable Tailwind dark mode plugin

View on npm Stale · Oct 18, 2026

nightwind has 1,620 recorded weekly downloads on npm, a decrease of 49.1% over the past 30 days, ranking #1363 of 2,322 tracked listings.

Weekly downloads
1,620
Official API · Oct 18, 2026
7-day growth
-22.1%
-460 weekly downloads
30-day growth
-49.1%
-1.6K weekly downloads
90-day growth
-70.2%
-3.8K weekly downloads
Rank
#1363
Among tracked npm listings

About nightwind

Nightwind cover image

A Tailwind CSS plugin that gives you an out-of-the-box, customisable, overridable dark mode.


Nightwind uses the existing Tailwind color palette and your own custom colors to automatically generate the dark mode version of the Tailwind color classes you use.

For example, whenever you use a class like bg-red-600 it gets automatically switched to bg-red-300 in dark mode.

You can see it in action on https://nightwindcss.com

  1. Installation
  2. Helper functions
  3. Getting started
  4. Configuration
  5. Color mappings
  6. Overrides
  7. Typography

Installation

npm install nightwind

Enable the Dark class variant in your tailwind.config.js file.

// tailwind.config.js - Tailwind ^2.0
module.exports = {
  darkMode: "class",
  // ...
  plugins: [require("nightwind")],
}
In older Tailwind versions (< 2.0)
// tailwind.config.js
module.exports = {
  experimental: {
    darkModeVariant: true,
    applyComplexClasses: true,
  },
  dark: "class",
  // ...
  plugins: [require("nightwind")],
}

Helper functions

Nightwind relies on a fixed 'nightwind' class to manage transitions, and a toggled 'dark' class applied on a top level element in the DOM, typically the root element.

You can define your own functions to manage the dark mode (or check the examples below), or use the helper functions included in 'nightwind/helper.js' to get started right away.

By default, the helper functions prevent the dreaded flicker of light mode and allow the chosen color mode to persist on update.

Initialization

To initialize nightwind, add the following script tag to the head element of your pages.

// React Example
import nightwind from "nightwind/helper"

export default function Layout() {
  return (
    <>
      <Head>
        <script dangerouslySetInnerHTML={{ __html: nightwind.init() }} />
      </Head>
      // ...
    </>
  )
}
Toggle

Similarly, you can use the toggle function to switch between dark and light mode.

// React Example
import nightwind from "nightwind/helper"

export default function Navbar() {
  return (
    // ...
    <button onClick={() => nightwind.toggle()}></button>
    // ...
  )
}
Enable mode

If you need to selectively choose between light/dark mode, you can use the enable function. It accepts a boolean argument to enable/disable dark mode.

// React Example
import nightwind from "nightwind/helper"

export default function Navbar() {
  return (
    // ...
    <button onClick={() => nightwind.enable(true)}></button>
    // ...
  )
}
BeforeTransition

Nightwind also exports a beforeTransition function that you can leverage in case you prefer to build your own toggle functions. It prevents unwanted transitions as a side-effect of having nightwind class in the html tag.

Check out the toggle function in the Nextjs example below for an example of how this could be implemented.

Examples

See examples of implementation (click to expand):

<details> <summary>Next.js (using the <a href="https://github.com/pacocoursey/next-themes">next-themes</a> library)</summary>
_app.js

Add ThemeProvider using the following configuration

import { ThemeProvider } from "next-themes"

function MyApp({ Component, pageProps }) {
  return (
    <ThemeProvider
      attribute="class"
      storageKey="nightwind-mode"
      defaultTheme="system" // default "light"
    >
      <Component {...pageProps} />
    </ThemeProvider>
  )
}

export default MyApp
Toggle

Set it up using the useTheme hook

import { useTheme } from "next-themes"
import nightwind from "nightwind/helper"

export default function Toggle(props) {
  const { theme, setTheme } = useTheme()

  const toggle = () => {
    nightwind.beforeTransition()
    if (theme !== "dark") {
      setTheme("dark")
    } else {
      setTheme("light")
    }
  }

  return <button onClick={toggle}>Toggle</button>
}
</details> <details> <summary>Create React App (using the <a href="https://github.com/nfl/react-helmet">react-helmet</a> library)</summary>
index.jsx

Add Helmet using the following configuration

import React from "react"
import ReactDOM from "react-dom"
import { Helmet } from "react-helmet"
import nightwind from "nightwind/helper"

import App from "./App"
import "./index.css"

ReactDOM.render(
  <React.StrictMode>
    <Helmet>
      <script>{nightwind.init()}</script>
    </Helmet>
    <App />
  </React.StrictMode>,
  document.getElementById("root")
)
Toggle

Set it up using the default example

import nightwind from "nightwind/helper"

export default function Navbar() {
  return (
    // ...
    <button onClick={() => nightwind.toggle()}></button>
    // ...
  )
}
</details>…

Description from the npm listing.

  • tailwind
  • tailwindcss
  • tailwindcss-plugin
  • dark-mode
  • dark-theme
  • postcss
  • css
  • javascript

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

nightwind weekly downloads on npm, last 90 days: 1,620 weekly downloads as of Oct 18, 2026, -70.2% over 90 days.nightwindWeekly downloads on npm · Last 90 days1,620downloads / week-70.2% over 90 days01K2K3K4K5K6KJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 23, 2026 – Oct 18, 2026 · 88 observations · Updated Oc…pluginstats.com
nightwind weekly downloads on npm, last 90 days: 1,620 weekly downloads as of Oct 18, 2026, -70.2% over 90 days.

7/30/90-day growth

nightwind weekly downloads growth on npm: -22.1% over 7 days, -49.1% over 30 days, -70.2% over 90 days.nightwindWeekly downloads growth on npm1,620downloads / week now7-day growth-460 weekly downloads-22.1%30-day growth-1,563 weekly downloads-49.1%90-day growth-3,816 weekly downloads-70.2%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
nightwind weekly downloads growth on npm: -22.1% over 7 days, -49.1% over 30 days, -70.2% over 90 days.

Ranking history

nightwind npm ranking history: currently #1363 (by weekly downloads).nightwindnpm ranking · by weekly downloads · Last 90 days#1363current rank#400#600#800#1000#1200#1400Jul 22Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20rankOct 17, 2026 – Oct 20, 2026 · 4 observations · Updated Oct 18, 2026pluginstats.com
nightwind npm ranking history: currently #1363 (by weekly downloads).

Listing placement

All npm2,320 listings · 116 pages · 1,162 shown · page 69, #6 (overall #1,366)
All npm: every listing in weekly downloads order

Listing placement

Tailwind plugins252 listings · 13 pages · page 1, #19 (overall #19)
Tailwind plugins: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (544)
Recent weekly downloads observations for nightwind
Date (UTC)Weekly downloadsChange vs. previous
1,620+275
1,345-278
1,623+164
1,459-706
2,165-532
2,6970
2,697+617
2,080-13
2,093+83
2,010-277
2,287+225
2,062+162
1,900-569
2,469—

Similar npm Tailwind plugins plugins

All 20 nightwind alternatives

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/nightwind. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.