taste-skill / Compare styles / Tailwind CSS vs shadcn/ui

Tailwind CSS vs shadcn/ui: design style comparison

Tailwind CSS is Engineered CSS Grid Lines & Technical Blueprint Precision; shadcn/ui is Zinc Monochrome Component Primitives & Zero-Distraction Craft. Both were extracted with the same taste-skill pipeline, so every value below is directly comparable. 14 of 18 tracked tokens differ.

Side-by-side preview

Tailwind CSS style · light
Ship the product, not the pixels.
Preview text rendered with the extracted Tailwind CSS canvas, text, muted and accent tokens.
v4.3 ⌘K
Card on extracted card recipe
Accent link: #0EA5E9 · border rgba(0, 0, 20, 0.05)
shadcn/ui style · light
Ship the product, not the pixels.
Preview text rendered with the extracted shadcn/ui canvas, text, muted and accent tokens.
Button Button
Card on extracted card recipe
Accent link: #171717 · border #E5E5E5

Key differences

Token table

TokenTailwind CSSshadcn/ui
Canvas same#FFFFFF#FFFFFF
Surface#F8FAFC#F5F5F5
Text#030712#0A0A0A
Muted text#4A5565#737373
Accent#0EA5E9#171717
Borderrgba(0, 0, 20, 0.05)#E5E5E5
Heading fontInterGeist
Body fontInterGeist
Mono fontIBM Plex Mono (plexMono)Geist Mono
H196px / -0.05em (w400)48px / -0.05em (w600)
Button radius16px10px
Button height24px32px
Most-used radius8px18px
Most-used shadowrgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.129999 -0.00404751 -0.027702 / 0.1) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0pxrgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, oklab(0.145 -0.00000143796 0.00000340492 / 0.05) 0px 0px 0px 1px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px
Easing samecubic-bezier(0.4, 0, 0.2, 1)cubic-bezier(0.4, 0, 0.2, 1)
Duration same0.15s0.15s
Container max-width768px896px
Mode samelightlight

Primary buttons

RenderedHeightPaddingRadiusBackground / TextBorderFont
v4.324px2px 6px16pxrgba(0, 0, 20, 0.05)
#030712
none12px / 500
⌘K24px4px 8px9999pxrgba(0, 0, 0, 0.02)
#000000
none16px / 400
Quick search ⌘K40px8px 16px9999pxtransparent
rgba(4, 8, 18, 0.5)
none14px / 400
RenderedHeightPaddingRadiusBackground / TextBorderFont
Button32px8px 16px10px#F5F5F5
#000000
none14px / 500
Button32px0px 10px18px#171717
#FAFAFA
none14px / 500
Secondary32px0px 12px18px#F5F5F5
#171717
none14px / 500

Which style should you pick?

Pick Tailwind CSS if you want Daylight #FFFFFF canvas overlaid with exposed 1px rgba(0,0,20,0.05) blueprint construction lines, monumental 96px Inter headlines (-0.05em), PlexMono utility classes, and #38BDF8 / #F6339A accents — signals: css, design-system, grid-lines, blueprint, devtools, plex-mono, precision.

Pick shadcn/ui if you want Pure #FFFFFF / #F5F5F5 zinc monochrome palette with 1px #E5E5E5 borders, 48px Geist display typography (-0.05em tracking), 10px radius primitives, and strict #171717 / #737373 hierarchy — signals: components, ui-kit, radix, shadcn, monochrome, zinc, geist, minimal.

Shared traits: light, tailwind.

Rules that differ

Tailwind CSS never:

  • NEVER substitute generic uncalibrated gray backgrounds for Tailwind CSS’s exact #FFFFFF canvas and #F8FAFC surface pairing.
  • NEVER replace Inter display typography or ignore its signature scale (96px / -0.05em (w400)).
  • NEVER use thick opaque borders that clash with rgba(0, 0, 20, 0.05) (1px rgba(0,0,20,0.05)).

shadcn/ui never:

  • NEVER substitute generic uncalibrated gray backgrounds for shadcn/ui’s exact #FFFFFF canvas and #F5F5F5 surface pairing.
  • NEVER replace Geist display typography or ignore its signature scale (48px / -0.05em (w600)).
  • NEVER use thick opaque borders that clash with #E5E5E5 (1px solid #E5E5E5).

Go deeper

Values extracted from https://tailwindcss.com and https://ui.shadcn.com. Not affiliated with either company.

Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.

See taste-skill Pro →