← Package directory
Available on winget

Install Tailwind CSS

Rapidly build modern websites without ever leaving your HTML.

Install with winget
winget install --id TailwindLabs.TailwindCSS
Upgrade
winget upgrade --id TailwindLabs.TailwindCSS
Uninstall
winget uninstall --id TailwindLabs.TailwindCSS

About Tailwind CSS

Tailwind CSS works by scanning all of your HTML files, JavaScript components, and any other templates for class names, generating the corresponding styles and then writing them to a static CSS file. It's fast, flexible, and reliable — with zero-runtime.

What's new in 4.3.3

Fixed - Support --watch --poll[=ms] in @tailwindcss/cli when filesystem events are unreliable or unavailable (#20297) - Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g. bg-[#fff] and bg-[#FFF] → bg-white) (#20298) - Prevent Preflight from overriding Firefox's native iframe:focus-visible outline styles (#20292) - Ensure theme('colors.foo') in JS plugins resolves correctly when both --color-foo and --color-foo-bar exist (#20299) - Ensure fractional opacity modifiers work with named shadow sizes like shadow-sm/12.5, text-shadow-sm/12.5, drop-shadow-sm/12.5, and inset-shadow-sm/12.5 (#20302) - Parse selectors like [data-foo]div as two selectors instead of one (#20303) - Ensure @tailwindcss/postcss rebuilds when a preprocessor like Sass changes the input CSS without changing the input file on disk (#20310) - Ensure CSS nesting is handled even when Lightning CSS isn't run, such as in @tailwindcss/browser and Tailwind Play (#20124) - Prevent achromatic theme colors from shifting hue when mixed in polar color spaces like oklch (#20314) - Ensure --spacing(0) is optimized to 0px instead of 0 so it remains a <length> when used in calc(…) (#20319) - Load @parcel/watcher only when needed in @tailwindcss/cli --watch mode, so one-off builds and --watch --poll work when @parcel/watcher can't be loaded (#20325) - Use explicit platform fonts instead of system-ui and ui-sans-serif so CJK text respects the page's lang attribute on Windows (#20318) - Prevent @tailwindcss/upgrade from rewriting ignored files when run from a subdirectory (#20329) - Ensure...

Read release notes

Version history

Version Updated Notes
4.3.3 Unknown Fixed - Support --watch --poll[=ms] in @tailwindcss/cli when filesystem events are unreliable or unavailable (#20297) - Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g. bg-[#fff]...
4.3.2 Unknown Fixed - Support bare spacing values for auto-rows-* and auto-cols-* utilities (e.g. auto-rows-12 and auto-cols-16) (#20229) - Prevent @tailwindcss/cli in --watch mode from crashing on Windows when @source points to a dir...
4.3.1 Unknown Added - Add --silent option to suppress output in @tailwindcss/cli (#20100) Fixed - Remove deprecation warnings by using Module#registerHooks instead of Module#register on Node 26+ (#20028) - Canonicalization: don't cras...
4.3.0 Unknown Added - Add @container-size utility (#18901) - Add scrollbar-{auto,thin,none} utilities for scrollbar-width, and scrollbar-thumb-* / scrollbar-track-* color utilities for scrollbar-color (#19981, #20019) - Add scrollbar-...
4.2.4 Unknown Fixed - Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite (#19947)
4.2.3 Unknown Fixed - Canonicalization: improve canonicalizations for tracking-* utilities by preferring non-negative utilities (e.g. -tracking-tighter → tracking-wider) (#19827) - Fix crash due to invalid characters in candidate (exc...
4.2.2 Unknown Fixed - Don't crash when candidates contain prototype properties like row-constructor (#19725) - Canonicalize calc(var(--spacing)*…) expressions into --spacing(…) (#19769) - Fix crash in canonicalization step when handli...
4.2.1 Unknown Fixed - Allow trailing dash in functional utility names for backwards compatibility (#19696) - Properly detect classes containing . characters within curly braces in MDX files (#19711)
4.2.0 Unknown Added - Add mauve, olive, mist, and taupe color palettes to the default theme (#19627) - Add @tailwindcss/webpack package to run Tailwind CSS as a webpack plugin (#19610) - Add pbs-* and pbe-* utilities for padding-block...
4.1.18 Unknown Fixed - Ensure validation of source(…) happens relative to the file it is in (#19274) - Include filename and line numbers in CSS parse errors (#19282) - Skip comments in Ruby files when checking for class names (#19243)...
4.1.17 Unknown Fixed - Substitute @variant inside legacy JS APIs (#19263) - Prevent occasional crash on Windows when loaded into a worker thread (#19242)
4.1.16 Unknown Fixed - Discard candidates with an empty data type (#19172) - Fix canonicalization of arbitrary variants with attribute selectors (#19176) - Fix invalid colors due to nested & (#19184) - Improve canonicalization for & >...
4.1.15 Unknown Fixed - Fix Safari devtools rendering issue due to color-mix fallback (#19069) - Suppress Lightning CSS warnings about :deep, :slotted, and :global (#19094) - Fix resolving theme keys when starting with the name of anoth...
4.1.14 Unknown Fixed - Handle ' syntax in ClojureScript when extracting classes (#18888) - Handle @variant inside @custom-variant (#18885) - Merge suggestions when using @utility (#18900) - Ensure that file system watchers created when...
4.1.13 Unknown Changed - Drop warning from browser build (#18731) - Drop exact duplicate declarations when emitting CSS (#18809) Fixed - Don't transition visibility when using transition (#18795) - Discard matched variants with unknown...
4.1.12 Unknown Fixed - Don't consider the global important state in @apply (#18404) - Add missing suggestions for flex-<number> utilities (#18642) - Fix trailing ) from interfering with extraction in Clojure keywords (#18345) - Detect...
4.1.11 Unknown Fixed - Add heuristic to skip candidate migrations inside emit(…) (#18330) - Extract candidates with variants in Clojure/ClojureScript keywords (#18338) - Document --watch=always in the CLI's usage (#18337) - Add support...
4.1.10 Unknown Fixed - Fix incorrectly generated CSS when using percentages in arbitrary values with calc (e.g.: w-[calc(100%-var(--offset))]) (#18289)
4.1.9 Unknown Fixed - Correctly parse custom properties with strings containing semicolons (#18251) - Upgrade: Migrate arbitrary modifiers without percentage signs to bare values (e.g. /[0.16] → /16) (#18184) - Upgrade: Migrate CSS va...
4.1.8 Unknown Added - Improve error messages when @apply fails (#18059) Fixed - Upgrade: Do not migrate declarations that look like candidates in <style> blocks (#18057, 18068) - Upgrade: Don't error when looking for tailwindcss in pn...