home/use-cases/icons-for-dark-mode
// USE CASE

Icons for Dark Mode

Dark mode has specific requirements for icons that light mode does not. Thin outline icons that look perfect on white backgrounds can become hard to read on very dark backgrounds. Icon libraries that use currentColor and SVG strokes adapt naturally to dark mode when you set the text color correctly. Understanding this technical detail is the key to a flawless dark mode icon experience.

dark mode iconsicons for dark uidark theme icons reactsvg icons dark mode

WHY THIS MATTERS

//More than 80 percent of developers prefer dark mode. A product with broken or hard-to-see icons in dark mode immediately signals poor attention to detail. For developer tools, SaaS products, and code editors, dark mode is often the primary use case not an afterthought.

RECOMMENDED FOR ICONS FOR DARK MODE

★ TOP PICK

Lucide Icons

12,0001,400 iconsISC

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

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

Heroicons

21,000292 iconsMIT

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

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

Phosphor Icons

8,0001,248 iconsMIT

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

npm install @phosphor-icons/react
Full Guide →✓ TypeScript✓ Tree-shakable

DESIGN TIPS

01

Use icons that rely on currentColor — they automatically adapt to your text color in dark mode

02

Slightly increase stroke width in dark mode — thin strokes disappear on dark backgrounds

03

Test icons at all your dark mode background shades, not just pure black

04

Avoid icon libraries that use hardcoded colors — they do not adapt to dark mode

05

Use slightly higher opacity for muted icon states in dark mode compared to light mode

MUST-HAVE ICONS FOR THIS USE CASE

moonsunmonitoreyeeye-offcontrastpalettesettings

COMMON MISTAKES TO AVOID

Icon libraries with hardcoded black fill colors that disappear on dark backgrounds

Not testing icon contrast ratios on your actual dark background colors

Using the same icon opacity for both light and dark modes

Forgetting to update icon hover states for dark mode

OTHER LIBRARIES TO CONSIDER

Tabler IconsMIT
5,500 icons
Remix IconApache 2.0
2,800 icons
Feather IconsMIT
287 icons
Bootstrap IconsMIT
1,800 icons
Radix IconsMIT
318 icons

BROWSE OTHER USE CASES

Icons for SaaS ProductsIcons for DashboardsIcons for Mobile AppsIcons for Landing PagesIcons for EcommerceIcons for Developer ToolsIcons for Next.js App Router