0
0
Tailwindmarkup~5 mins

Plugin system overview in Tailwind

Choose your learning style9 modes available
Introduction

Plugins help you add new styles or features to Tailwind CSS easily. They save time by reusing code.

You want to add custom utilities or components without writing all CSS yourself.
You need to share style rules across many projects.
You want to extend Tailwind with new colors, animations, or variants.
You want to keep your code clean by organizing styles in plugins.
You want to use community-made features to speed up development.
Syntax
Tailwind
const plugin = require('tailwindcss/plugin')

module.exports = {
  plugins: [
    plugin(function({ addUtilities, addComponents, theme }) {
      // Add your custom styles here
    })
  ]
}

Use plugin function to create a plugin.

Inside the plugin, you can add utilities, components, or variants.

Examples
This plugin adds a new utility class .text-shadow that applies a shadow to text.
Tailwind
const plugin = require('tailwindcss/plugin')

module.exports = {
  plugins: [
    plugin(function({ addUtilities }) {
      const newUtilities = {
        '.text-shadow': {
          'text-shadow': '2px 2px #000000'
        }
      }
      addUtilities(newUtilities)
    })
  ]
}
This plugin adds a reusable button style as a component class .btn.
Tailwind
const plugin = require('tailwindcss/plugin')

module.exports = {
  plugins: [
    plugin(function({ addComponents }) {
      const buttons = {
        '.btn': {
          padding: '0.5rem 1rem',
          borderRadius: '0.25rem',
          fontWeight: '600'
        }
      }
      addComponents(buttons)
    })
  ]
}
Sample Program

This example shows how to add a simple text shadow utility using a Tailwind plugin. The heading uses the new text-shadow class.

Tailwind
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Tailwind Plugin Example</title>
  <script src="https://cdn.tailwindcss.com"></script>
  <script>
    tailwind.config = {
      plugins: [
        function({ addUtilities }) {
          const newUtilities = {
            '.text-shadow': {
              'text-shadow': '2px 2px 4px rgba(0,0,0,0.5)'
            }
          }
          addUtilities(newUtilities)
        }
      ]
    }
  </script>
</head>
<body class="p-6">
  <h1 class="text-3xl font-bold text-shadow">Hello with Text Shadow!</h1>
</body>
</html>
OutputSuccess
Important Notes

Plugins let you keep your Tailwind setup clean and reusable.

You can add utilities, components, or even new variants with plugins.

Use the Tailwind CDN with tailwind.config.plugins for quick testing.

Summary

Plugins add new styles or features to Tailwind CSS.

They help reuse and organize custom styles easily.

Use plugin() function to create and add plugins.