Logo Ekbal's Blog

Search Blog

Add Tailwind CSS to Your Vite React Project

May 6, 2025
4 min read
index

Introduction

Tailwind CSS has become a popular choice for styling React applications due to its utility-first approach and ease of customization. Vite, a fast and lightweight build tool, complements React development by providing a rapid development experience. This guide walks you through seamlessly integrating Tailwind CSS into a new or existing Vite React project.

Prerequisites

Before we begin, ensure you have the following installed:

  • Node.js (version 16 or higher)
  • npm or yarn or pnpm

Step 1: Create a New Vite React Project (if you don’t have one)

If you’re starting from scratch, use Vite to scaffold a new React project:

Terminal window
npm create vite@latest my-react-app --template react
cd my-react-app

Or using yarn:

Terminal window
yarn create vite my-react-app --template react
cd my-react-app

Or using pnpm:

Terminal window
pnpm create vite my-react-app --template react
cd my-react-app

Step 2: Install Tailwind CSS and its Peer Dependencies

Next, install Tailwind CSS, PostCSS, and Autoprefixer as development dependencies:

Terminal window
npm install -D tailwindcss postcss autoprefixer

Or using yarn:

Terminal window
yarn add -D tailwindcss postcss autoprefixer

Or using pnpm:

Terminal window
pnpm add -D tailwindcss postcss autoprefixer

Step 3: Initialize Tailwind CSS Configuration

Generate tailwind.config.js and postcss.config.js files using the Tailwind CLI:

Terminal window
npx tailwindcss init -p

This command creates two files in your project’s root directory: tailwind.config.js and postcss.config.js.

Step 4: Configure Template Paths

Edit the tailwind.config.js file to configure the template paths. This tells Tailwind CSS where to look for your HTML, JavaScript, and other template files so it can generate the appropriate CSS classes.

/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./index.html",
"./src/**/*.{js,ts,jsx,tsx}",
],
theme: {
extend: {},
},
plugins: [],
}

The content array specifies the file patterns to scan for Tailwind CSS classes. Adjust these paths as needed to match your project structure.

Step 5: Add Tailwind Directives to Your CSS

Create a new CSS file (e.g., src/index.css) and add the Tailwind CSS directives. These directives inject Tailwind’s base styles, components, and utilities into your CSS:

@tailwind base;
@tailwind components;
@tailwind utilities;

Step 6: Import the CSS File in Your React Application

Import the CSS file into your main React application file (e.g., src/main.jsx or src/App.jsx). This ensures that the Tailwind CSS styles are applied to your application.

src/main.jsx
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.jsx'
import './index.css' // Import the Tailwind CSS file
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>,
)

Step 7: Start Your Development Server

Start the Vite development server:

Terminal window
npm run dev

Or using yarn:

Terminal window
yarn dev

Or using pnpm:

Terminal window
pnpm dev

Step 8: Start Using Tailwind CSS Classes

Now you can start using Tailwind CSS classes in your React components:

src/App.jsx
function App() {
return (
<div className="container mx-auto p-4">
<h1 className="text-3xl font-bold text-blue-600">
Hello, Tailwind CSS!
</h1>
<button className="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded">
Click Me
</button>
</div>
)
}
export default App

Conclusion

You’ve successfully integrated Tailwind CSS into your Vite React project. You can now leverage Tailwind’s utility classes to style your application efficiently. Refer to the Tailwind CSS documentation for a complete list of available classes and customization options. Enjoy building your beautiful React applications with Tailwind CSS and Vite!