Tailwind CSS v4 — A New Engine Built for Speed
Tailwind CSS v4 is not an incremental update — it's a ground-up rewrite of the engine, and the numbers speak for themselves. The new Oxide engine, written in Rust, delivers up to 10x faster builds compared to v3. On large projects where Tailwind's JIT compilation used to add noticeable delay to hot reloads, the difference is immediate. You save it, you see it. That's the kind of DX improvement that compounds over months of daily development.
Tailwind CSS v4.0
A new engine, CSS-first configuration, and composable variants.
The biggest philosophical shift is CSS-first configuration. Instead of defining your design tokens in tailwind.config.ts, you now define them directly in CSS using @theme. Your colors, spacing, fonts — all declared in a stylesheet using native CSS custom properties. This means your configuration is portable, inspectable in DevTools, and doesn't require a build step to understand. It also means you can import design tokens from other CSS files or libraries without any JavaScript glue. For projects that share design systems across frameworks, this is a significant win.
Composable variants are the other headline feature that deserves attention. In v3, combining variants could get awkward — you'd stack modifiers and hope they composed correctly. In v4, variants are truly composable by design, meaning group-hover:dark:focus-visible: just works without edge cases. The mental model is simpler, and the generated CSS is cleaner. Pair that with the new @utility directive for defining custom utilities inline, and you have a system that's more expressive while being less magical.
My honest take: I was skeptical when Tailwind v4 was announced because v3 already felt mature. But after migrating this portfolio to v4, the speed improvement alone justified the effort. The CSS-first config took some getting used to — reaching for a CSS file instead of a JS config felt wrong at first — but once it clicked, I started wondering why it wasn't always this way. If you're on v3 and debating the upgrade, the migration guide is solid, and the breaking changes are well-documented. This is one of those upgrades where the before-and-after difference in build times makes the decision for you.