Skip to content
PluginStats

tw-epic-spinners weekly downloads statistics

By mthaip · npm · Tailwind plugins

20 pure-CSS loading spinners as a Tailwind CSS plugin (v3 & v4). Zero JS, framework-agnostic — works with Vue, React, Svelte, Astro, Next.js, Nuxt, or plain HTML. A Tailwind port of Epic Spinners by EpicMax.

View on npm Fresh · Oct 18, 2026

tw-epic-spinners has 13 recorded weekly downloads on npm, a decrease of 78.3% over the past 30 days, ranking #1996 of 2,322 tracked listings.

Weekly downloads
13
Official API · Oct 18, 2026
7-day growth
-38.1%
-8 weekly downloads
30-day growth
-78.3%
-47 weekly downloads
90-day growth
-58.1%
-18 weekly downloads
Rank
#1996
Among tracked npm listings

About tw-epic-spinners

<!-- This file is generated from demo/content/documentation.md by scripts/build-readme.mjs. Do not edit directly. --> <!-- cSpell:words semipolar rhombuses mthaip -->

tw-epic-spinners

20 pure-CSS loading spinners as a Tailwind CSS plugin. Works with Tailwind v3 and v4, and any framework.

Live previews & docs: tw-epic-spinners.mthaip.com

<!-- cSpell:words semipolar rhombuses -->

Introduction

tw-epic-spinners is a Tailwind CSS plugin that provides 20 pure-CSS loading spinners. Supports Tailwind v3 and v4.

This library is the Tailwind CSS port of epic-spinners by EpicMax.

Installation

npm install --save-dev tw-epic-spinners

# Or use Yarn
yarn add -D tw-epic-spinners

# Or use pnpm
pnpm add -D tw-epic-spinners

Usage

Then, when using Tailwind CSS v4, add the plugin to your main stylesheet:

/* Your main css file */
@import "tailwindcss";
@plugin "tw-epic-spinners";

If you are still using Tailwind CSS v3, add the plugin to your tailwind.config.js file:

import spinners from 'tw-epic-spinners';

export default {
  // Other configs
  plugins: [spinners],
};

Core concepts

Using Spinner Creator (BETA)

creator(spinner, classes?) => string

Returns an HTML string for a given spinner type, which can be injected into your UI.

Parameters
  • spinner (string): Spinner name (see Spinners section).

  • classes (string | string[], optional): Additional classes to apply to the spinner wrapper. Can be a string or array of Tailwind utility classes.

Returns
  • string: HTML markup string representing the selected spinner.
Usage Examples
Vue
<template>
  <div v-html="spinnerHTML" />
</template>

<script setup>
import { creator } from 'tw-epic-spinners';

const spinnerHTML = creator('spinner-half-circle', ['spinner-size-12', 'sm:spinner-size-16', 'spinner-duration-[2.5s]']);
</script>
React
import { creator } from 'tw-epic-spinners';

const Spinner = () => {
  const html = creator('spinner-half-circle', 'spinner-size-12 sm:spinner-size-16 spinner-duration-[2.5s]');

  return <div dangerouslySetInnerHTML={{ __html: html }} />;
};

export default Spinner;
Spinners

There are 20 spinners. Each is a single utility class applied to a <div>, with the inner markup shown below.

spinner-flower
<div class="spinner-flower">
  <div>
    <div />
  </div>
</div>
spinner-pixel
<div class="spinner-pixel" />
spinner-hollow-dots
<div class="spinner-hollow-dots">
  <div />
  <div />
  <div />
</div>
spinner-intersecting-circles
<div class="spinner-intersecting-circles">
  <div>
    <div />
    <div />
    <div />
    <div />
    <div />
    <div />
    <div />
  </div>
</div>
spinner-orbit
<div class="spinner-orbit">
  <div />
  <div />
  <div />
</div>
spinner-radar
<div class="spinner-radar">
  <div>
    <div />
  </div>
  <div>
    <div />
  </div>
  <div>
    <div />
  </div>
  <div>
    <div />
  </div>
</div>
spinner-scaling-squares
<div class="spinner-scaling-squares">
  <div />
  <div />
  <div />
  <div />
</div>
spinner-half-circle
<div class="spinner-half-circle" />
spinner-trinity-rings
<div class="spinner-trinity-rings">
  <div />
  <div />
  <div />
</div>
spinner-fulfilling-square
<div class="spinner-fulfilling-square" />
spinner-circles-to-rhombuses
<div class="spinner-circles-to-rhombuses">
  <div />
  <div />
  <div />
</div>
spinner-semipolar
<div class="spinner-semipolar">
  <div />
  <div />
  <div />
  <div />
  <div />
</div>
spinner-self-building-square
<div class="spinner-self-building-square">
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
</div>
spinner-swapping-squares
<div class="spinner-swapping-squares">
  <div />
  <div />
  <div />
  <div />
</div>
spinner-fulfilling-bouncing-circle
<div class="spinner-fulfilling-bouncing-circle" />
spinner-fingerprint
<div class="spinner-fingerprint">
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
</div>
spinner-spring
<div class="spinner-spring">
  <div />
  <div />
</div>
spinner-atom
<div class="spinner-atom">
  <div>
    <div />
    <div />
    <div />
  </div>
</div>
spinner-looping-rhombuses
<div class="spinner-looping-rhombuses">
  <div />
  <div />
  <div />
</div>
spinner-breeding-rhombus
<div class="spinner-breeding-rhombus">
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
  <div />
</div>
Utility
Size

The spinner-size-* utility class allows you to quickly define the size of a spinner.

It follows a similar pattern to Tailwind CSS spacing utilities.

<div class="spinner-fulfilling-square spinner-size-16" />

Using arbitrary values:

<div class="spinner-fulfilling-square spinner-size-[70px]" />
Duration

The spinner-duration-* utility class allows you control the duration.

It follows also a similar pattern to Tailwind CSS Transition duration utilities.

<div class="spinner-fulfilling-square spinner-duration-1000" />

Using arbitrary values:

<div class="spinner-fulfilling-square spinner-duration-[2.5s]" />
Color

Color can be controlled by Tailwind CSS Text Color utility.

<div class="spinner-fulfilling-square text-sky-600" />
```…

Description from the npm listing.

  • tailwindcss
  • tailwindcss-plugin
  • tailwind-plugin
  • tailwind
  • tailwindcss-v4
  • tailwindcss-v3
  • spinner
  • spinners
  • loading-spinner
  • loader
  • loading
  • loading-indicator
  • css-spinner
  • css-animation
  • pure-css
  • no-js
  • vue
  • react
  • svelte
  • astro

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

tw-epic-spinners weekly downloads on npm, last 90 days: 13 weekly downloads as of Oct 18, 2026, -58.1% over 90 days.tw-epic-spinnersWeekly downloads on npm · Last 90 days13downloads / week-58.1% over 90 days020406080Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 22, 2026 – Oct 18, 2026 · 89 observations · Updated Oc…pluginstats.com
tw-epic-spinners weekly downloads on npm, last 90 days: 13 weekly downloads as of Oct 18, 2026, -58.1% over 90 days.

7/30/90-day growth

tw-epic-spinners weekly downloads growth on npm: -38.1% over 7 days, -78.3% over 30 days, -58.1% over 90 days.tw-epic-spinnersWeekly downloads growth on npm13downloads / week now7-day growth-8 weekly downloads-38.1%30-day growth-47 weekly downloads-78.3%90-day growth-18 weekly downloads-58.1%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
tw-epic-spinners weekly downloads growth on npm: -38.1% over 7 days, -78.3% over 30 days, -58.1% over 90 days.

Ranking history

tw-epic-spinners npm ranking history: currently #1996 (by weekly downloads).tw-epic-spinnersnpm ranking · by weekly downloads · Last 90 days#1996current rank#1920#1930#1940#1950#1960#1970#1980#1990#2000Jul 22Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20rankOct 18, 2026 – Oct 20, 2026 · 3 observations · Updated Oct 18, 2026pluginstats.com
tw-epic-spinners npm ranking history: currently #1996 (by weekly downloads).

Listing placement

All npm2,320 listings · 116 pages · 1,162 shown · page 100, #20 (overall #2,000)
All npm: every listing in weekly downloads order

Listing placement

Tailwind plugins252 listings · 13 pages · page 7, #8 (overall #128)
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 (122)
Recent weekly downloads observations for tw-epic-spinners
Date (UTC)Weekly downloadsChange vs. previous
13+4
9-1
10+2
80
8-2
100
10-11
21-2
23-2
25-7
32-1
33+1
32-13
45—

Similar npm Tailwind plugins plugins

All 20 tw-epic-spinners 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/tw-epic-spinners. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.