Tailwind Merge Classes
This module provides a Twig extension to automatically merge and optimize Tailwind CSS class lists, resolving conflicts to ensure a clean output. It can output classes as a string or an array, making it easy to use with Drupal's theming system.
Introduction
Tailwind Merge Classes is a Drupal module for users working with Tailwind CSS in a component-based syntax. It provides a Twig extension that merges multiple Tailwind CSS classes, resolves conflicts automatically, and ensures a clean, optimized class list. For example, tw_merge(['p-2', 'p-4']) intelligently keeps only the last one, 'p-4'. Array output is also supported via tw_merge with as='array' (or the legacy tw_merge_as_array function), which is recommended when used with Drupal's addClass(). If you are interested in more details, this video explains the original JavaScript utility tailwind-merge that this module's logic is based on.
Usage
Get started quickly by checking out dedicated guides:
Version Support
- Module version 1.x: Compatible only with Tailwind CSS 3.x
- Module version 2.x: Compatible only with Tailwind CSS 4.x
Post-Installation
Once you install the Tailwind Merge Classes module, there's no need for extra configuration or managing content types. Simply enable the module and start using it in your Twig files.
Third-Party Libraries
This module depends on different PHP packages to handle merging of Tailwind CSS classes for each Tailwind version.
- Version 1.x (Tailwind CSS 3.x): Uses the PHP package gehrisandro/tailwind-merge-php.
- Version 2.x (Tailwind CSS 4.x): Uses the PHP package tales-from-a-dev/tailwind-merge-php.
Both PHP packages require PHP 8.1 and above.
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Release Timeline
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 2.2.2 | Stable | 10–11 | Bugfix: Allow arrays as input besides strings in legacy tw_merge_as_array() and remove some unnecessary code. | Aug 20, 2026 | |
| 2.2.1 | Stable | 10–11 | Aug 20, 2026 | ||
| 1.2.1 | Stable | 10–11 | Bugfix: Allow arrays as input besides strings in legacy tw_merge_as_array() and remove some unnecessary code. | Aug 20, 2026 | |
| 2.2.0 | Stable | 10–11 | May 24, 2026 | ||
| 1.2.0 | Stable | 10–11 | May 24, 2026 | ||
| 2.1.0 | Stable | 10–11 | Require Drupal 10.3+, use #config_target, typed properties, constructor promotion | Jan 18, 2026 | |
| 1.1.0 | Stable | 10–11 | Require Drupal 10.3+, use #config_target, typed properties, constructor promotion | Jan 18, 2026 | |
| 2.0.0 | Stable | 10–11 | Add Tailwind CSS 4.x support | Dec 31, 2025 | |
| 1.0.1 | Stable | 10–11 | Dec 28, 2025 | ||
| 1.0.0 | Stable | 10–11 | Dec 27, 2025 | ||
| 1.0.0-beta2 | Pre-release | 10–11 | Jun 19, 2025 | ||
| 1.0.0-beta1 | Pre-release | 10–11 | Jan 22, 2025 | ||
| 1.0.x-dev | Dev | 10–11 | Jan 20, 2025 |