You should be able to do most things in a CSS file now, with new at-rules like @utility, @custom-variant, etc. For existing v3 plugins, you can include them via the @plugin at-rule.

🌐
Tailwind CSS
tailwindcss.com › blog › tailwindcss-v4
Tailwind CSS v4.0 - Tailwind CSS
With the improvements we've made to this process for v4.0, Tailwind feels more light-weight than ever: Just one-line of CSS — no more @tailwind directives, just add @import "tailwindcss" and start building. Zero configuration — you can start using the framework without configuring anything, not even the paths to your template files. No external plugins required — we bundle @import rules for you out of the box, and use Lightning CSS under the hood for vendor prefixing and modern syntax transforms.
🌐
GitHub
github.com › tailwindlabs › tailwindcss › discussions › 13292
[v4] How to add plugins? · tailwindlabs/tailwindcss · Discussion #13292
August 27, 2024 - Should be “@tailwindcss/forms” 👍🏻 don’t forget the “@“ sign! ... There was an error while loading. Please reload this page. Something went wrong. There was an error while loading. Please reload this page. ... My bad, I've missed the note saying it isn't available yet in v4 in the roadmap section. I hope this gets added soon! Plugins and custom utilities — we don’t have support for plugins, or for writing custom utilities that automatically work with variants yet.
Author   tailwindlabs
Discussions

v4 third party plugins
Congratulations on getting v4 out! I am missing documentation for creating third party plugins in the docs (v3: https://v3.tailwindcss.com/docs/plugins). More on github.com
🌐 github.com
6
2
January 23, 2025
tailwind css - How to configure @tailwindcss/typography plugin from TailwindCSS v4 - Stack Overflow
The problem is solved after adding @plugin '@tailwindcss/typography': to global.css. Thanks 2025-05-18T01:05:03.84Z+00:00 ... I just based it on an answer written by someone else. I quickly put together a v4 reproduction in the Play environment without a config file by new @utility directive: More on stackoverflow.com
🌐 stackoverflow.com
What are the top Tailwind CSS plugins everyone is using ? ( 2025 version )
I built https://github.com/versoly/taos to replace AOS using Tailwind instead. Also used the native forms library. More on reddit.com
🌐 r/tailwindcss
18
31
February 5, 2025
Write Plugin in tailwind 4.0
According to Perplexity: According to search results, Tailwind 4.0 does not currently support plugins The plugin system that exists in previous versions of Tailwind CSS is not available in version 4.0 Alternative Approach for Tailwind 4.0 Instead of plugins, Tailwind 4.0 uses a different configuration approach where you configure directly in CSS files using: @layer directives Custom at-rules CSS syntax If you need to use plugins, you should continue using Tailwind CSS version 3.x, where you can create plugins by: Alternative Approach for Tailwind 4.0 javascript // tailwind.config.js const plugin = require('tailwindcss/plugin') module.exports = { plugins: [ plugin(function({ addUtilities, addComponents, theme }) { // Add your custom styles here }) ] } More on reddit.com
🌐 r/tailwindcss
7
3
January 15, 2025
🌐
Tailwind CSS
v3.tailwindcss.com › docs › plugins
Plugins - Tailwind CSS
Plugins · Tailwind CSS v4.0 is here → · Learn more in the upgrade guide. Customization · Extending Tailwind with reusable third-party plugins. Plugins let you register new styles for Tailwind to inject into the user’s stylesheet using JavaScript instead of CSS.
Top answer
1 of 2
12

In tailwind 4 you only need to do the following. Install the plugin

npm install -D @tailwindcss/typography

enable it in global.css (assuming you are using default next configuration withapp router):

@import "tailwindcss";
@plugin '@tailwindcss/typography';

Github issue dicussing this

2 of 2
4

Update (configure without tailwind.config.js)

I just based it on an answer written by someone else. I quickly put together a v4 reproduction in the Play environment without a config file by new @utility directive:

  • Tailwind Play Reproduction
@import "tailwindcss";
@plugin "@tailwindcss/typography";

@utility prose-pink {
  @apply prose;
  & > * {
    --tw-prose-body: var(--color-pink-800);
    --tw-prose-headings: var(--color-pink-900);
  }
}

With this, I produce exactly the same result that the documentation recommends using a config file for:

  • Adding custom color theme for Typography

Plugin

Starting from TailwindCSS v4, a CSS-first configuration approach is preferred. Therefore, all plugins should be integrated with TailwindCSS using the @plugin directive. Following the Typography documentation:

  • New CSS-first configuration option in v4 - StackOverflow
  • @plugin directive - TailwindCSS v4 Docs
  • Typography Installation - GitHub Readme
npm install -D @tailwindcss/typography
@import "tailwindcss";
@plugin "@tailwindcss/typography";

Configuration

In CSS-first mode, you have the option to change the default prose class name when declaring the plugin:

@import "tailwindcss";
@plugin "@tailwindcss/typography" {
  className: wysiwyg; /* changed from prose to wysiwyg */
}

In TailwindCSS v3, however, the legacy JavaScript-based configuration (tailwind.config.js) allowed for custom configuration as well.

You can still do this using the @config directive.

  • @config directive - TailwindCSS v4 Docs
  • Adding custom color themes to Typography - GitHub Readme
  • Customizing the CSS to Typography - GitHub Readme
@import "tailwindcss";
@plugin "@tailwindcss/typography";
@config "./relative/path/to/tailwind.config.js";
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    extend: {
      typography: () => ({
        // ...
      }),
    },
  },
}

Contrary to the documentation, by completely omitting the JavaScript-based configuration, you still have the option to customize the prose utility like this:

  • Typography upgrade to TailwindCSS v4 - @ErwannRousseau's code snippet - GitHub
@import "tailwindcss";
@plugin "@tailwindcss/typography";

@utility prose {
  --tw-prose-body: var(--color-primary);
  --tw-prose-headings: var(--color-primary);
  --tw-prose-bold: var(--color-primary);
  --tw-prose-quote-borders: var(--color-slate-300);
  --tw-prose-quotes: var(--color-muted-foreground);
  --tw-prose-code: var(--color-primary);

  code {
    &::before,
    &::after {
      display: none;
    }
    text-wrap: nowrap;
  }

  blockquote {
    font-weight: 400;
  }
}
🌐
Pow
pow.kim › articles › tailwind-css-plugin-v4
The New Way to Build Plugins in Tailwind CSS v4 | pow.kim
July 31, 2025 - Tailwind CSS v4 removes plugins, but don’t worry. You can still create powerful custom styles directly from your CSS with a simpler, more intuitive approach.
Find elsewhere
🌐
Rsbuild
rsbuild.rs › guide › styling › tailwindcss
Tailwind CSS v4 - Rsbuild
You can integrate Tailwind CSS in Rsbuild via PostCSS plugins. This document introduces the integration of Tailwind CSS v4.
🌐
GitHub
github.com › tailwindlabs › tailwindcss › discussions › 15828
How to Integrate Plugins like 'DaisyUI' with Tailwind CSS v4 · tailwindlabs/tailwindcss · Discussion #15828
As we all know, in previous versions, we simply installed the plugin with npm i daisyui and required it in the tailwind.config.js file. However, in version 4, this has changed and it's no longer ne...
Author   tailwindlabs
🌐
Tailwind CSS
tailwindcss.com › blog › tailwindcss-v4-alpha
Open-sourcing our progress on Tailwind CSS v4.0 - Tailwind CSS
We don't take breaking changes lightly, but there are a few things we're doing differently in v4 so far that are worth sharing: Removed deprecated utilities — we've removed utilities we stopped documenting a long time ago like text-opacity-*, flex-grow-*, and decoration-slice in favor of their modern replacements like text-{color}/*, grow-*, and box-decoration-slice. PostCSS plugin and CLI are separate packages — the main tailwindcss package doesn't include these anymore since not everyone needs them, instead they should be installed separately using @tailwindcss/postcss and @tailwindcss/cli.
🌐
shadcn/ui
ui.shadcn.com › docs › tailwind-v4
Tailwind v4 - shadcn/ui
Copy- @plugin 'tailwindcss-animate'; + @import "tw-animate-css"; We've revisited the dark mode colors and updated them to be more accessible. If you're running an existing Tailwind v4 project (not an upgraded one1), you can update your components to use the new dark mode colors by re-adding ...
🌐
DEV Community
dev.to › sirneij › tailwindcss-v40-upgrading-from-v3-with-some-plugins-572f
TailwindCSS v4.0: Upgrading from v3 with some plugins - DEV Community
February 10, 2025 - Though this migration guide was ... include plugins such as @tailwindcss/typography (needed for the prose-related rules) and @tailwindcss/forms (needed for form elements). Hence this article. It will be a short ride. It is assumed you have a basic familiarity with the library. Also, I will be using SvelteKit as a framework of choice here but you just need any project where you need to migrate tailwind CSS from v3 to v4...
🌐
NiraUI
niraui.onrender.com › blog › tailwind css plugins for developers
9 Best Tailwind CSS Plugins You Should Know in 2025 (Animations, RTL, Typography & More) — Tailwind CSS Components
October 18, 2025 - Install the plugin from npm: npm install tailwind-scrollbar-hide · For Tailwind v4, you can use the following approach in your CSS configuration file: /* index.css */ @import 'tailwindcss'; @import 'tailwind-scrollbar-hide/v4'; For Tailwind v2.x and v3.x, add the plugin to your config file: // tailwind.config.js module.exports = { theme: { // ...
🌐
Kirby Forum
forum.getkirby.com › resources › plugins
Tailwind v4 and DaisyUI - Plugins - Kirby Forum
June 25, 2025 - Hi all, I followed the cookbook Kirby meets Tailwind CSS | Kirby CMS. Installing Tailwind with npm install tailwindcss@latest leads to this error: mat@macbook kirbyproject % npm run watch > watch > npx tailwindcss -i ./src/css/tailwind.css -o ./assets/css/styles.css -w npm error could not determine executable to run This problem disappears with the previous version of Tailwind : npm install tailwindcss@3.4.17 Is there an easy way to get v4 up and running?
🌐
GitHub
github.com › tailwindlabs › prettier-plugin-tailwindcss
GitHub - tailwindlabs/prettier-plugin-tailwindcss: A Prettier plugin for Tailwind CSS that automatically sorts classes based on our recommended class order. · GitHub
As of v0.5.x, this plugin now requires Prettier v3 and is ESM-only. This means it cannot be loaded via require(). For more information see our upgrade guide. When using Tailwind CSS v4 you must specify your CSS file entry point, which includes your theme, custom utilities, and other Tailwind ...
Starred by 7.1K users
Forked by 176 users
Languages   TypeScript 97.6% | JavaScript 2.4%
🌐
Kitemetric
kitemetric.com › blogs › tailwind-css-v4-mastering-custom-styles-the-new-plugin-approach
Tailwind CSS v4: Custom Styles & The New Plugin Approach | Kite Metric
Tailwind CSS v4, released in early January, boasts significant improvements, including a faster Oxide engine and a groundbreaking CSS-first configuration. This eliminates the tailwind.config.js file and introduces a streamlined approach to custom styles, effectively replacing the plugin system ...
🌐
DaisyUI
daisyui.com › blog › 9-best-tailwind-css-plugins-for-developers
9 essential Tailwind CSS plugins for developers — daisyUI Tailwind CSS Component UI Library
Another plugin from Tailwind team, tailwindcss/container-queries adds the new cool CSS feature called container queries to Tailwind CSS. Container queries are similar to media queries but instead of checking the screen size, they check the size of the container.