Back to all posts
TechnologyTailwind CSS with custom theme

Setting up Tailwind CSS with a Custom Theme

1. What you'll need

3 min readUpdated May 6, 2026AI-assisted

TechSilo

AI-assisted and human-curated

1. **What you'll need**

To set up Tailwind CSS with a custom theme, you'll need Node.js (version 16.14.2 or higher) and npm (version 8.5.5 or higher) installed on your machine. You'll also need a code editor and a terminal.

2. **Step 1: Create a new project and install dependencies**

Create a new project folder and navigate to it in your terminal. Run the following command to initialize a new npm project: npm init -y. Then, install the required dependencies: npm install -D tailwindcss@3.1.8 postcss@8.4.14 autoprefixer@10.4.12. This sets up the foundation for using Tailwind CSS in your project.

3. **Step 2: Create a Tailwind configuration file**

Run the following command to create a new Tailwind configuration file: npx tailwindcss init -p. This will create two new files: tailwind.config.js and postcss.config.js. The tailwind.config.js file is where you'll define your custom theme.

4. **Step 3: Define your custom theme**

Open the tailwind.config.js file and update the theme section to include your custom theme. For example:

javascript
module.exports = {
  content: [
    "./src/**/*.{js,jsx,ts,tsx}",
  ],
  theme: {
    extend: {
      colors: {
        'primary': '#3498db',
        'secondary': '#f1c40f',
      },
    },
  },
  plugins: [],
}

This defines two custom colors: primary and secondary.

5. **Step 4: Create a CSS file and add Tailwind classes**

Create a new CSS file called styles.css and add the following lines:

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

This imports the base styles, components, and utilities from Tailwind CSS.

6. **Step 5: Update your HTML file to use the custom theme**

Create a new HTML file called index.html and add the following lines:

html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Custom Theme</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <h1 class="text-primary">Hello World!</h1>
</body>
</html>

This uses the text-primary class to apply the custom primary color to the heading.

7. **Verify it works**

To verify that the setup is working, open the index.html file in a web browser. You should see the heading with the custom primary color.

8. **Common errors**

* Error 1: Error: Cannot find module 'autoprefixer' - This error occurs when the autoprefixer package is not installed. To fix this, run the command npm install -D autoprefixer@10.4.12.

* Error 2: Error: PostCSS plugin tailwindcss requires PostCSS 8 - This error occurs when the postcss package is not up to date. To fix this, run the command npm install -D postcss@8.4.14.

9. **Next steps**

Now that you have Tailwind CSS set up with a custom theme, you can start building your project. You can add more custom colors, fonts, and other styles to your tailwind.config.js file as needed. You can also use the @apply directive to apply custom styles to specific elements in your HTML file.

Want to put this into practice?

Explore TechSilo's free developer tools for practical utilities you can use directly in your browser.

Try these free tools

Related blog posts