lucide-icons

Use Lucide icons correctly across any framework or environment. Lucide is a tree-shakeable SVG icon library with 1000+ icons. Use this skill when working with Lucide icons in React, Vue, Svelte, Solid, Preact, Angular, Astro, React Native, Vanilla JS, or static/server-side environments. Triggers include installing lucide icons, importing lucide components, customizing icon appearance, using dynamic icons, or using Lucide lab custom icons.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "lucide-icons" with this command: npx skills add aksuharun/skills/aksuharun-skills-lucide-icons

Lucide Icons

Lucide provides framework-specific packages—each icon is an individually importable component/element that renders an inline SVG. All packages are fully tree-shakeable.

Icon Naming

  • Package exports use PascalCase: Camera, ArrowRight, CircleAlert
  • CSS/HTML data attributes and icon font classes use kebab-case: data-lucide="circle-alert", icon-circle-alert
  • Find icon names at lucide.dev/icons

Universal Props

All framework packages share the same core props:

proptypedefault
sizenumber24
colorstringcurrentColor
strokeWidthnumber2
absoluteStrokeWidthbooleanfalse

All packages also accept any SVG presentation attribute as a prop (e.g. fill, stroke-linejoin).

Best Practices

  • Always tree-shake: Import only the icons you use. Never import * as icons in production bundles.
  • Direct icon imports (e.g. from 'lucide-react/icons/camera') improve build performance by bypassing the package barrel.
  • Dynamic by name: Use DynamicIcon (React) or a generic wrapper only when icon names come from dynamic data (e.g. a CMS).
  • Accessibility: Icons default to aria-hidden="true". Add aria-label when the icon conveys meaning.

Framework Reference Files

Read the relevant reference file for the framework in use:

Framework / EnvironmentPackageReference file
Reactlucide-reactreferences/lucide-react.md
Vue 3lucide-vue-nextreferences/lucide-vue-next.md
Svelte 5 (or 4)@lucide/sveltereferences/lucide-svelte.md
SolidJSlucide-solidreferences/lucide-solid.md
Preactlucide-preactreferences/lucide-preact.md
Angularlucide-angularreferences/lucide-angular.md
Astro@lucide/astroreferences/lucide-astro.md
React Nativelucide-react-nativereferences/lucide-react-native.md
Vanilla JS / HTMLlucidereferences/lucide.md
Static / No-framework / Node.jslucide-staticreferences/lucide-static.md

Lucide Lab (Custom / Unofficial Icons)

Lucide lab provides additional icons not in the main library. All packages support lab icons via their Icon component:

// React example — same pattern works across React, Preact, Solid, Astro, Svelte, Vue
import { Icon } from 'lucide-react';
import { coconut } from '@lucide/lab';

<Icon iconNode={coconut} color="red" size={32} />

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

git-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

readme-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

reka-ui

No summary provided by upstream source.

Repository SourceNeeds Review
General

raison-sdk

No summary provided by upstream source.

Repository SourceNeeds Review