IconSearch logoIconsearch
TAILWIND CSS STYLING

Tailwind CSS Icons: Sizing, Dark Mode & currentColor (2026)

Master SVG icon styling in modern Tailwind CSS. Learn how currentColor handles seamless dark mode transitions, streamline component sizing with size-*, and build responsive interactive UI buttons.

TL;DR — Heroicons is the official Tailwind Labs icon library. Lucide is the most versatile general-purpose alternative.

1. Core Tailwind Styling Patterns: Sizing, Colors & Hover

Because modern SVG icons accept className and default to currentColor, you can style icons using standard Tailwind utility classes without extra CSS declarations:

// 1. Sizing: Use 'size-*' for proportional dimensions
<Home className="size-4" /> {/* 16px */}
<Home className="size-5" /> {/* 20px - standard UI */}
<Home className="size-6" /> {/* 24px - headers/nav */}

// 2. Dark Mode: Automatic color switching via currentColor
<Settings className="size-5 text-zinc-600 dark:text-zinc-400 hover:text-indigo-600 dark:hover:text-indigo-400 transition-colors" />

// 3. Interactive Buttons: Micro-animations with group-hover
<button className="group flex items-center gap-2 px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 transition">
  <span>Continue to Checkout</span>
  <ArrowRight className="size-4 transition-transform group-hover:translate-x-1" />
</button>

Tailwind CSS Compatible Icon Sets (18)

#1

Lucide Icons

12,0001,960 iconsISC

A clean, consistent open-source icon library with 1960+ icons, forked from Feather Icons with active maintenance and TypeScript support.

npm install lucide-react
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#2

Heroicons

BY TAILWIND LABS
21,000324 iconsMIT

Beautiful hand-crafted SVG icons by the makers of Tailwind CSS. Available in outline and solid styles with 324 icons.

npm install @heroicons/react
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#3

Tabler Icons

18,0006,147 iconsMIT

Over 6100 free MIT-licensed high-quality SVG icons. One of the largest free icon libraries available for web projects.

npm install @tabler/icons-react
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#4

PatternFly Icons

2,4002,884 iconsMIT

Red Hat's PatternFly icon system with 2,800+ MIT-licensed React icons for enterprise consoles, admin dashboards, developer tools, and product UIs.

npm install @patternfly/react-icons
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#5

Untitled UI Icons

01,179 iconsMIT

Official MIT-licensed React icons from Untitled UI, with 1,179 crisp outline icons for SaaS products, dashboards, and modern product interfaces.

npm install @untitledui/icons
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#6

Phosphor Icons

8,0001,533 iconsMIT

Flexible icon family with 6 weights including thin, light, regular, bold, fill and duotone. Over 1500 icons available.

npm install @phosphor-icons/react
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#7

Remix Icon

6,0003,229 iconsApache 2.0

Open-source neutral-style system symbols for designers and developers. Over 3200 icons in line and fill styles.

npm install remixicon
#8

Feather Icons

24,000287 iconsMIT

Simply beautiful open source icons designed on a 24x24 grid with an emphasis on simplicity, consistency and readability.

npm install react-feather
Full Guide & Catalog →✓ Tree-shakable
#9

Bootstrap Icons

7,0002,078 iconsMIT

Free, high quality, open source icon library with over 2000 icons. Designed by the Bootstrap team.

npm install bootstrap-icons
#10

Radix Icons

5,000318 iconsMIT

A crisp set of 15x15 icons designed by the WorkOS team. Perfectly sized for dense UIs and dashboards.

npm install @radix-ui/react-icons
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#11

Iconoir

5,2001,384 iconsMIT

A high-quality, open-source icon library featuring over 1,300 meticulously crafted line icons. Highly consistent, premium aesthetic perfect for modern UIs.

npm install iconoir-react
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#12

IonIcons

17,2001,300 iconsMIT

Premium, carefully designed icons by the Ionic Framework team. Provides Outline, Filled, and Sharp variants with over 1300 icons for responsive mobile and web apps.

npm install react-ionicons
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#13

Octicons

10,400280 iconsMIT

GitHub's official icon set designed specifically for developer dashboards, code repositories, git histories, and developer utilities.

npm install @primer/octicons-react
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#14

Ant Design Icons

8,700840 iconsMIT

The official icon set for Ant Design (AntD), featuring over 800 highly consistent icons in Outlined, Filled, and TwoTone themes for enterprise UIs.

npm install @ant-design/icons
Full Guide & Catalog →✓ TypeScript✓ Tree-shakable
#15

Devicons

9,500800 iconsMIT

800+ developer and technology brand icons — logos for every programming language, framework, database, and tool. Available in original (color), plain, and line variants.

<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/devicons/devicon@latest/devicon.min.css" />
#16

Teenyicons

2,1001,200 iconsMIT

Tiny, minimalist 1px-stroke vector icons designed to fit beautifully in the smallest spaces. Optimised for 15x15 grids.

npm install teenyicons
Full Guide & Catalog →✓ Tree-shakable
#17

Circum Icons

800288 iconsMPL-2.0

Consistent, ultra-minimalist line icons featuring simple visual geometry and rounded outlines.

npm install circum-icons
Full Guide & Catalog →✓ Tree-shakable
#18

Elusive Icons

1,200304 iconsOFL-1.1

A clean, customisable web font and SVG vector icon set optimized for Bootstrap layouts.

npm install elusive-icons
Full Guide & Catalog →✓ Tree-shakable
FREQUENTLY ASKED QUESTIONS

Tailwind CSS Icon Styling FAQ

How does currentColor work with Tailwind CSS text color utilities?

SVG icons styled with `stroke="currentColor"` or `fill="currentColor"` inherit the CSS `color` computed property from their parent element or direct class list. Applying Tailwind classes like `text-zinc-600 dark:text-zinc-300 hover:text-indigo-600` dynamically recolors the SVG icon without requiring custom fill/stroke CSS rules.

What is the recommended sizing utility for icons in Tailwind CSS v4?

In Tailwind CSS v3.4+ and v4, the `size-*` utility (e.g. `size-4`, `size-5`, `size-6`) sets both width and height simultaneously (`width: 1.25rem; height: 1.25rem`), eliminating the need to write separate `w-5 h-5` classes.

How do I optically align an SVG icon with adjacent typography in Tailwind?

Wrap your label and icon in an element with `flex items-center gap-1.5`. Because letter ascenders/descenders can create optical imbalance, you can apply `-mt-0.5` or `translate-y-[-1px]` to vertically center icons with uppercase text or button labels.

Can I animate SVG icons on button hover using Tailwind group classes?

Yes. Add `group` to the parent button and `transition-transform group-hover:translate-x-0.5` or `group-hover:rotate-12` to the icon component for smooth GPU-accelerated micro-interactions.

What is the difference between Heroicons and Lucide for Tailwind projects?

Heroicons was created by Tailwind Labs to match Tailwind UI components natively with 20px (mini), 24px (outline/solid), and 16px (micro) variants. Lucide Icons is a broader community library with 1,550+ icons and customizable stroke-width properties (`strokeWidth={1.75}`).

Next: Explore TypeScript & Framework Guides

Type-safe icon components in React, Next.js, Vue, and Svelte.

TypeScript Guide →React Guide →