Simplify Your Tailwind CSS Class Management with tailwind-merge and clsx

Noman Fareed
2 min readJun 11, 2023

--

Learn how to efficiently manage and combine your Tailwind CSS classes using the tailwind-merge and clsx utilities

Introduction:

Tailwind CSS has become increasingly popular among developers for its utility-first approach and ease of use. However, managing and combining multiple classes can sometimes become a challenge. In this article, we’ll explore two powerful tools, tailwind-merge and clsx, that can help you simplify your class management and make your code more readable and maintainable.

Merge: A Tailwind CSS Utility for Combining Classes

Tailwind CSS introduced the tailwind-merge utility which allows you to combine multiple classes into a single string. This utility is particularly useful when you have conditional classes or need to merge classes from different sources.

Basic Usage

Here’s a simple example of how to use the twMerge utility:

import { twMerge } from 'tailwind-merge';

const baseClasses = 'bg-blue-500 text-white';
const additionalClasses = 'rounded-lg p-4';

const combinedClasses = twMerge(baseClasses, additionalClasses);

In this example, combinedClasses will contain the string ‘bg-blue-500 text-white rounded-lg p-4’.

Conditional Classes

You can also use merge to conditionally apply classes based on certain conditions:

const isActive = true;
const activeClasses = isActive ? 'bg-green-500' : 'bg-red-500';

const combinedClasses = twMerge(baseClasses, activeClasses);

In this case, if isActive is true, combinedClasses will contain ‘bg-blue-500 text-white bg-green-500’.

Clsx: A Lightweight Utility for Combining Class Names

clsx is another popular utility for combining class names in JavaScript. It’s lightweight, fast, and works well with Tailwind CSS.

Basic Usage

Here’s a simple example of how to use clsx:

import clsx from 'clsx';

const baseClasses = 'bg-blue-500 text-white';
const additionalClasses = 'rounded-lg p-4';

const combinedClasses = clsx(baseClasses, additionalClasses);

In this example, combinedClasses will contain the string ‘bg-blue-500 text-white rounded-lg p-4’.

Conditional Classes

You can also use clsx to conditionally apply classes based on certain conditions:

const isActive = true;

const combinedClasses = clsx(baseClasses, {
'bg-green-500': isActive,
'bg-red-500': !isActive,
});

In this case, if isActive is true, combinedClasses will contain ‘bg-blue-500 text-white bg-green-500’.

Conclusion

Both tailwind-merge and clsx are powerful tools for managing and combining your Tailwind CSS classes. They can help you write cleaner, more maintainable code and make it easier to work with conditional classes. Give them a try in your next project and see the difference they can make!

--

--

Noman Fareed
Noman Fareed

Written by Noman Fareed

Software Engineer | Full Stack Developer | Humanist | https://www.linkedin.com/in/shnoman97

Responses (3)