Skip to content
PluginStats

tailwindcss-concentric weekly downloads statistics

By diip3sh · npm · Tailwind plugins

Tailwind CSS v4 plugin: nested elements get the correct concentric corner radius automatically.

View on npm Fresh · Oct 26, 2026 · data Oct 22, 2026

tailwindcss-concentric has 383 recorded weekly downloads on npm.

Weekly downloads
383
Official API · Oct 22, 2026
7-day growth
—
Insufficient history
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
—
Among tracked npm listings

About tailwindcss-concentric

tailwindcss-concentric

Nested rounded corners that line up, for Tailwind CSS v4. Give a child rounded-concentric and its radius follows its rounded parent:

A card with an inner panel. Left: the panel repeats the card's 44px radius and the white gap widens in the corners. Right: rounded-concentric gives the panel 24px and the gap stays even.

inner radius = outer radius - gap        (gap = the distance between the two edges)

The gap is the parent's padding and border width, plus the padding and border of a wrapper in between and the child's own margin. For absolute and fixed children it is the inset plus the parent's border width. The value is computed in CSS from the Tailwind classes you already wrote. No JavaScript, no config, and it keeps working when the parent's radius or padding changes, across breakpoints and states.

<div class="rounded-3xl bg-white p-3">
  <img class="rounded-concentric" src="..." alt="" />   <!-- 24px - 12px = 12px -->
</div>

Install

npm install tailwindcss-concentric

Import it right after Tailwind in your main CSS file:

@import "tailwindcss";
@import "tailwindcss-concentric";

Requires Tailwind CSS 4.0 or later. CI runs the browser suite against 4.0.0 and the latest release every week.

Classes

ClassEffect
rounded-concentricAll four corners follow the nearest rounded ancestor.
rounded-{t,r,b,l}-concentricTwo corners on one side, e.g. rounded-t-concentric for media flush with the top of a card.
rounded-{s,e}-concentricStart or end corners; they flip under dir="rtl".
rounded-{tl,tr,br,bl}-concentricOne physical corner.
rounded-{ss,se,ee,es}-concentricOne logical corner.
rounded-concentric-{n} / rounded-concentric-[6px] / rounded-concentric-(--gap)Explicit gap instead of the measured one, for spacing the plugin cannot read (see What the plugin reads). {n} uses the spacing scale.
concentric-ellipticalPer-axis radii when the parent's padding differs per axis (see below).
concentric-squirclecorner-shape: squircle with a matching gap (see below).

All of them work with variants (md:rounded-concentric, hover:rounded-t-concentric) and combine with plain radius classes on the same element, following the normal cascade: rounded-xl rounded-t-concentric gives concentric top corners and rounded-xl bottom corners.

Chains

Concentric elements pass their own radius and padding on, so nesting works at any of the levels you would realistically build (nine stacked rounded elements are exact):

<div class="rounded-3xl p-2">              <!-- 24px -->
  <div class="rounded-concentric p-2">     <!-- 16px -->
    <div class="rounded-concentric p-1">   <!-- 8px -->
      <div class="rounded-concentric"></div>   <!-- 4px -->
    </div>
  </div>
</div>

A plain rounded-* element in the middle starts a new chain from its own radius.

Wrappers, margins and positioned elements

A wrapper without a radius passes its padding and border on, so layout divs between a card and its content need nothing. The child's own margin counts too, and a negative margin makes the radius larger, for media that bleeds to the card's edge:

<div class="rounded-3xl p-2">              <!-- 24px -->
  <div class="flex flex-col gap-2 p-2">    <!-- plain wrapper -->
    <div class="rounded-concentric"></div>   <!-- 24 - 8 - 8 = 8px -->
  </div>
</div>

<div class="rounded-3xl p-4">
  <img class="-mx-4 -mt-4 rounded-t-concentric" />   <!-- 24px, flush with the card -->
</div>

absolute and fixed elements are measured by their insets from the parent's padding edge, so rings and overlays need nothing either: absolute inset-1 inside a relative rounded-2xl border p-4 card is 16 - 1 - 4 = 11px.

Unequal padding

With px-4 py-2 the gap differs per axis. By default each corner uses the smaller gap and stays circular (24 - 8 = 16px). Add concentric-elliptical to subtract each axis' own gap instead (8px / 16px), which keeps the curve exactly parallel.

Minimum radius

Deep nesting or a large gap clamps the radius to 0. Set a floor on any ancestor:

<body class="[--concentric-floor:2px]">
Pills

Children of rounded-full parents stay pills.

Squircles

With corner-shape: squircle, subtracting the gap once leaves the inner corner too round. Put concentric-squircle on the child: it sets corner-shape: squircle and scales the gap by 1.84, which keeps the gap even at the edges and the diagonal, and within 3% in between. Give the parent concentric-squircle (or [corner-shape:squircle]) as well. Browsers without corner-shape ignore both and keep round corners with the plain gap.

tailwind-merge

If you merge classes with tailwind-merge (for example in a cn() helper), register the plugin's classes so they replace radius classes instead of sitting next to them:

import { extendTailwindMerge } from "tailwind-merge";
import { withConcentric } from "tailwindcss-concentric/merge";

export const twMerge = extendTailwindMerge(withConcentric);
// with your own config: extendTailwindMerge({ ...yourConfig }, withConcentric)

Without this, twMerge("rounded-lg", "rounded-concentric") keeps both and rounded-lg wins.

What the plugin reads…

Description from the npm listing.

  • tailwindcss
  • tailwindcss-plugin
  • tailwind
  • border-radius
  • concentric
  • corners
  • css

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

tailwindcss-concentric weekly downloads on npm, last 90 days: 383 weekly downloads as of Oct 22, 2026.tailwindcss-concentricWeekly downloads on npm · Last 90 days383downloads / week340360380400420440Jul 24Aug 8Aug 23Sep 7Sep 22Oct 7Oct 22downloads / weekOct 22, 2026 – Oct 22, 2026 · 1 observations · Updated Oct 22, 2026pluginstats.com
tailwindcss-concentric weekly downloads on npm, last 90 days: 383 weekly downloads as of Oct 22, 2026.

7/30/90-day growth

tailwindcss-concentric weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.tailwindcss-concentricWeekly downloads growth on npm383downloads / week now7-day growthinsufficient historyInsufficient history30-day growthinsufficient historyInsufficient history90-day growthinsufficient historyInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 22, 2026pluginstats.com
tailwindcss-concentric weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.

Ranking history

tailwindcss-concentric has no ranking history on npm yet.tailwindcss-concentricnpm ranking · by weekly downloads · Last 90 daysNo ranking observations in this periodno observations · 0 observations · Updated Oct 22, 2026pluginstats.com
tailwindcss-concentric has no ranking history on npm yet.

Listing placement

All npm2,577 listings · 129 pages · 1,289 shown · page 90, #19 (overall #1,799)
All npm: every listing in weekly downloads order

Listing placement

Tailwind plugins263 listings · 14 pages · page 2, #15 (overall #35)
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 (1)
Recent weekly downloads observations for tailwindcss-concentric
Date (UTC)Weekly downloadsChange vs. previous
383—

Similar npm Tailwind plugins plugins

All 20 tailwindcss-concentric 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/tailwindcss-concentric. First seen Oct 26, 2026; last successful collection Oct 26, 2026. See the methodology.