Tailwind CSS

Tailwind CSS

Open Source

Rapidly build modern websites without ever leaving your HTML.

Frontend Frameworks
CSS Frameworks

Scores

Popularity
4/5
Learning Curve
2/5
Flexibility
4/5
Performance
3/5
Portability
3/5

About

Tailwind CSS is a utility-first CSS framework created by Adam Wathan and released in 2017. Rather than providing pre-built components (like Bootstrap or Material UI), Tailwind gives you a comprehensive set of low-level utility classes — flex, pt-4, text-gray-900, rounded-lg, hover:bg-blue-500 — that you compose directly in HTML to build any design without leaving your markup.

The utility-first philosophy means each class does one thing: p-4 adds 4 units of padding, text-xl sets the font size, bg-white sets the background. Building a UI is a matter of combining these classes rather than writing CSS. Proponents argue this eliminates the need for naming conventions (BEM, OOCSS), reduces style conflicts, and dramatically speeds up iteration.

The JIT (Just-In-Time) engine — the default since Tailwind v3 and rebuilt from scratch in v4 — scans your source files and generates only the CSS classes you actually use. A large project with thousands of utility classes in source still ships a production stylesheet of a few kilobytes. Arbitrary values (text-[#1a1a1a], w-[137px]) extend the system without adding CSS bloat.

Tailwind v4 (released January 2025) rewrote the engine in Rust, delivering dramatically faster build and rebuild times. It also moved configuration from tailwind.config.js to a CSS-first @theme directive, eliminating the JavaScript config file for most use cases.

Design system scales are built in: an opinionated, harmonious set of spacing values, a curated color palette with shades from 50–950, type scale, shadow levels, border radii, and z-index values. Teams adopt a consistent visual language automatically — arbitrary one-off values are possible but the defaults discourage them.

Responsive design is handled with responsive prefixes (sm:, md:, lg:, xl:, 2xl:) that scope classes to breakpoints. Dark mode support is built in via dark: prefix. State variants (hover:, focus:, active:, group-hover:, peer-focus:) handle interactive states without custom CSS.

Key Features

  • Utility-first: compose designs from atomic classes directly in HTML markup
  • JIT engine (Rust-powered in v4): generates only used classes — tiny production bundles
  • Arbitrary value support: text-[#1a1a1a], w-[137px] for one-off values without custom CSS
  • Built-in design scales: opinionated spacing, color palette, typography, and shadow tokens
  • Responsive prefixes (sm:, md:, lg:) and dark mode (dark:) variants built in
  • State variants: hover:, focus:, group-hover:, peer-focus: for interactive styling without JS
  • CSS-first configuration in v4 via @theme directive — no JavaScript config file required

Pros

  • Eliminates the need for naming conventions and custom CSS for most UI work
  • JIT production output is tiny — typically under 10KB for real projects
  • Built-in design tokens enforce consistent spacing, colors, and typography across a team
  • Responsive and dark mode variants built in with no setup
  • Massive ecosystem: Headless UI, Tailwind UI, and hundreds of third-party component libraries
  • v4's Rust engine delivers near-instant rebuilds even on large projects

Cons

  • HTML becomes verbose — long utility class strings make markup hard to scan and review
  • Utility class names require memorisation — less readable to developers unfamiliar with the framework
  • Perceived violation of separation of concerns — mixing presentation with structure in HTML
  • v4 migration from v3 introduced significant breaking changes (config format, class renames)
  • Custom design systems that deviate far from Tailwind's defaults require significant theme overriding

Pricing

Open Source

Possible Stacks

Browser Extension Starter

Project

A beginner-friendly stack for building cross-browser extensions. WXT handles the Manifest V3 boilerplate and cross-browser packaging; React and TypeScript provide a familiar component model; Supabase adds cloud storage and auth if the extension needs a backend.

Programming

Databases

Authentication

Sandbox

HTMX + Django

Project

A server-driven web stack where Django renders HTML templates and HTMX adds dynamic interactions without writing JavaScript. Ideal for teams that want fast iteration on CRUD-heavy apps and dashboards with minimal frontend complexity.

Backend

Programming

Databases

Hosting

Sandbox

HTMX + FastAPI

Project

A lightweight, fast Python stack. FastAPI serves HTML fragment endpoints, HTMX swaps them into the DOM, and Tailwind handles styling. Great for modern server-driven apps with async Python backends.

Backend

Programming

Databases

Hosting

Sandbox

Related Tools

Learning Resources

No resources yet — check back soon.

Vendor

TL

Tailwind Labs

Website →

Tags

Open SourceWeb DevelopmentDeclarative

Details

License
MIT
Maintained
Yes
Primary language
TypeScript
Domain
Frontend
GitHub stars
94k
Stars updated
2026-03-09