Lucide

Knowledge base from the Lucide (lucide-react, lucide-vue-next, lucide-svelte, and other framework packages) icon library documentation. Use when adding icons to a project, choosing between the vanilla JS, static, or a framework-specific package, customizing icon color/size/stroke-width, or migrating from Feather Icons or an older Lucide version.

147 capítulos

Lucide

Package: lucide (+ per-framework wrappers) | Guide pages: 147 | Generated: 2026-08-24

How to Use This Skill

  • Without arguments — load the core patterns and package-choice cheatsheet below
  • With a framework name — ask about react, vue, svelte, angular, etc.; I find and read the matching chapters
  • With a topic — ask about sizing, color, accessibility, tree-shaking, or another indexed topic
  • With a chapter — ask for ch014; I load that specific chapter
  • Browse — ask "what chapters do you have?" to see the full index below, grouped by framework

Core Patterns & Conventions

Lucide ships as a per-icon component library: every icon is its own named export (import { Smile } from 'lucide-react'), so only the icons a project actually imports end up in the production bundle. This tree-shaking behavior is the library's central design choice and shapes almost every other pattern — dynamic-icon-by-name helpers exist for when the icon name is truly data-driven, but static named imports are the default and the tree-shakeable path.

Every icon defaults to color="currentColor", inheriting its color from the computed CSS color of the element or its nearest ancestor. This is standard SVG/CSS behavior, not a Lucide-specific mechanism — icons placed inside a styled button or link pick up that element's text color automatically, with no icon-specific CSS needed.

Three props recur across every framework wrapper: size (rendered width/height), color (stroke/fill color, defaults to currentColor), and strokeWidth (SVG stroke thickness). A fourth, absoluteStrokeWidth, keeps the visual stroke thickness constant across different size values instead of letting it scale proportionally — relevant any time icons of different sizes need to look visually consistent.

The library ships ten distribution targets: a vanilla JS package (data-lucide attribute + createIcons() DOM scan, or createElement() for a single icon), a static package (SVG files, sprite, or webfont for zero-JS contexts), and per-framework packages for React, Vue, Svelte, Solid, Astro, Preact, React Native, and Angular. Each framework package follows the same documentation shape: getting started, migration, the three sizing/color/stroke-width basics, then advanced pages (TypeScript, accessibility, global styling, combining icons, aliased names, filled icons, lucide-lab) — not every framework has every advanced page, but the ones that exist follow the same pattern across frameworks.

React Native is the one wrapper with an external peer dependency (react-native-svg) — icons render as SVG through that library rather than through a platform-native primitive.

Chapter Index

See the full per-framework tables below — 147 chapters grouped into: Vanilla JS (core), React, Vue, Svelte, Solid, Astro, Preact, React Native, Angular, Static/Font/JS Modules, VS Code Extension, Package Reference, Contributing & Design Guides, and General & Meta.

Vanilla JS (core)

#TitleChapter
ch001Lucide for Vanilla JavaScriptchapters/ch001-guide-lucide.md
ch002Getting startedchapters/ch002-guide-lucide-getting-started.md
ch003Migration from v0chapters/ch003-guide-lucide-migration.md
ch004Colorchapters/ch004-guide-lucide-basics-color.md
ch005Sizingchapters/ch005-guide-lucide-basics-sizing.md
ch006Stroke widthchapters/ch006-guide-lucide-basics-stroke-width.md
ch007Global Stylingchapters/ch007-guide-lucide-advanced-global-styling.md
ch008Shadow DOMchapters/ch008-guide-lucide-advanced-shadow-dom.md
ch009Content Template elementchapters/ch009-guide-lucide-advanced-content-template-element.md
ch010Accessibilitychapters/ch010-guide-lucide-advanced-accessibility.md
ch011With Lucide Lab or custom iconschapters/ch011-guide-lucide-advanced-with-lucide-lab.md
ch012Filled Iconschapters/ch012-guide-lucide-advanced-filled-icons.md

React

#TitleChapter
ch013Lucide for Reactchapters/ch013-guide-react.md
ch014Getting startedchapters/ch014-guide-react-getting-started.md
ch015Migration from v0chapters/ch015-guide-react-migration.md
ch016Migration Guide: react-feather → lucide-reactchapters/ch016-guide-react-migration-from-feather.md
ch017Colorchapters/ch017-guide-react-basics-color.md
ch018Sizingchapters/ch018-guide-react-basics-sizing.md
ch019Stroke widthchapters/ch019-guide-react-basics-stroke-width.md
ch020TypeScript Supportchapters/ch020-guide-react-advanced-typescript.md
ch021Accessibilitychapters/ch021-guide-react-advanced-accessibility.md
ch022Global Stylingchapters/ch022-guide-react-advanced-global-styling.md
ch023With Lucide Lab or custom iconschapters/ch023-guide-react-advanced-with-lucide-lab.md
ch024Filled Iconschapters/ch024-guide-react-advanced-filled-icons.md
ch025Aliased Nameschapters/ch025-guide-react-advanced-aliased-names.md
ch026Combining iconschapters/ch026-guide-react-advanced-combining-icons.md
ch027Dynamic Icon Componentchapters/ch027-guide-react-advanced-dynamic-icon-component.md

Vue

#TitleChapter
ch028Lucide for Vuechapters/ch028-guide-vue.md
ch029Getting startedchapters/ch029-guide-vue-getting-started.md
ch030Migration from v0chapters/ch030-guide-vue-migration.md
ch031Colorchapters/ch031-guide-vue-basics-color.md
ch032Sizingchapters/ch032-guide-vue-basics-sizing.md
ch033Stroke widthchapters/ch033-guide-vue-basics-stroke-width.md
ch034TypeScript Supportchapters/ch034-guide-vue-advanced-typescript.md
ch035Accessibilitychapters/ch035-guide-vue-advanced-accessibility.md
ch036Global Stylingchapters/ch036-guide-vue-advanced-global-styling.md
ch037With Lucide Lab or custom iconschapters/ch037-guide-vue-advanced-with-lucide-lab.md
ch038Filled Iconschapters/ch038-guide-vue-advanced-filled-icons.md
ch039Aliased Nameschapters/ch039-guide-vue-advanced-aliased-names.md
ch040Combining iconschapters/ch040-guide-vue-advanced-combining-icons.md

Svelte

#TitleChapter
ch041Lucide for Sveltechapters/ch041-guide-svelte.md
ch042Getting startedchapters/ch042-guide-svelte-getting-started.md
ch043Migration from v0chapters/ch043-guide-svelte-migration.md
ch044Colorchapters/ch044-guide-svelte-basics-color.md
ch045Sizingchapters/ch045-guide-svelte-basics-sizing.md
ch046Stroke widthchapters/ch046-guide-svelte-basics-stroke-width.md
ch047TypeScript Supportchapters/ch047-guide-svelte-advanced-typescript.md
ch048Accessibilitychapters/ch048-guide-svelte-advanced-accessibility.md
ch049Global Stylingchapters/ch049-guide-svelte-advanced-global-styling.md
ch050With Lucide Lab or custom iconschapters/ch050-guide-svelte-advanced-with-lucide-lab.md
ch051Filled Iconschapters/ch051-guide-svelte-advanced-filled-icons.md
ch052Combining iconschapters/ch052-guide-svelte-advanced-combining-icons.md

Solid

#TitleChapter
ch053Lucide for Solidchapters/ch053-guide-solid.md
ch054Getting startedchapters/ch054-guide-solid-getting-started.md
ch055Migration from v0chapters/ch055-guide-solid-migration.md
ch056Colorchapters/ch056-guide-solid-basics-color.md
ch057Sizingchapters/ch057-guide-solid-basics-sizing.md
ch058Stroke widthchapters/ch058-guide-solid-basics-stroke-width.md
ch059TypeScript Supportchapters/ch059-guide-solid-advanced-typescript.md
ch060Accessibilitychapters/ch060-guide-solid-advanced-accessibility.md
ch061Global Stylingchapters/ch061-guide-solid-advanced-global-styling.md
ch062With Lucide Lab or custom iconschapters/ch062-guide-solid-advanced-with-lucide-lab.md
ch063Filled Iconschapters/ch063-guide-solid-advanced-filled-icons.md
ch064Aliased Nameschapters/ch064-guide-solid-advanced-aliased-names.md
ch065Combining iconschapters/ch065-guide-solid-advanced-combining-icons.md

Astro

#TitleChapter
ch066Lucide for Astrochapters/ch066-guide-astro.md
ch067Getting startedchapters/ch067-guide-astro-getting-started.md
ch068Migration from v0chapters/ch068-guide-astro-migration.md
ch069Colorchapters/ch069-guide-astro-basics-color.md
ch070Sizingchapters/ch070-guide-astro-basics-sizing.md
ch071Stroke widthchapters/ch071-guide-astro-basics-stroke-width.md
ch072TypeScript Supportchapters/ch072-guide-astro-advanced-typescript.md
ch073Accessibilitychapters/ch073-guide-astro-advanced-accessibility.md
ch074Global Stylingchapters/ch074-guide-astro-advanced-global-styling.md
ch075With Lucide Lab or custom iconschapters/ch075-guide-astro-advanced-with-lucide-lab.md

Preact

#TitleChapter
ch076Lucide for Preactchapters/ch076-guide-preact.md
ch077Getting startedchapters/ch077-guide-preact-getting-started.md
ch078Migration from v0chapters/ch078-guide-preact-migration.md
ch079Colorchapters/ch079-guide-preact-basics-color.md
ch080Sizingchapters/ch080-guide-preact-basics-sizing.md
ch081Stroke widthchapters/ch081-guide-preact-basics-stroke-width.md
ch082TypeScriptchapters/ch082-guide-preact-advanced-typescript.md
ch083Accessibilitychapters/ch083-guide-preact-advanced-accessibility.md
ch084Global Stylingchapters/ch084-guide-preact-advanced-global-styling.md
ch085With Lucide Lab or custom iconschapters/ch085-guide-preact-advanced-with-lucide-lab.md
ch086Filled Iconschapters/ch086-guide-preact-advanced-filled-icons.md
ch087Aliased Nameschapters/ch087-guide-preact-advanced-aliased-names.md
ch088Combining iconschapters/ch088-guide-preact-advanced-combining-icons.md

React Native

#TitleChapter
ch089Lucide for React Nativechapters/ch089-guide-react-native.md
ch090Getting startedchapters/ch090-guide-react-native-getting-started.md
ch091Migration from v0chapters/ch091-guide-react-native-migration.md
ch092Colorchapters/ch092-guide-react-native-basics-color.md
ch093Sizingchapters/ch093-guide-react-native-basics-sizing.md
ch094Stroke widthchapters/ch094-guide-react-native-basics-stroke-width.md
ch095TypeScript Supportchapters/ch095-guide-react-native-advanced-typescript.md
ch096Global Stylingchapters/ch096-guide-react-native-advanced-global-styling.md
ch097With Lucide Lab or custom iconschapters/ch097-guide-react-native-advanced-with-lucide-lab.md
ch098Filled Iconschapters/ch098-guide-react-native-advanced-filled-icons.md
ch099Aliased Nameschapters/ch099-guide-react-native-advanced-aliased-names.md
ch100Combining iconschapters/ch100-guide-react-native-advanced-combining-icons.md
ch101Optimizationschapters/ch101-guide-react-native-advanced-optimizations.md

Angular

#TitleChapter
ch102Lucide for Angularchapters/ch102-guide-angular.md
ch103Getting startedchapters/ch103-guide-angular-getting-started.md
ch104Migrating from lucide-angular to @lucide/angularchapters/ch104-guide-angular-migration.md
ch105Colorchapters/ch105-guide-angular-basics-color.md
ch106Sizingchapters/ch106-guide-angular-basics-sizing.md
ch107Stroke widthchapters/ch107-guide-angular-basics-stroke-width.md
ch108TypeScriptchapters/ch108-guide-angular-advanced-typescript.md
ch109Accessibilitychapters/ch109-guide-angular-advanced-accessibility.md
ch110Global Stylingchapters/ch110-guide-angular-advanced-global-styling.md
ch111With Lucide Lab or custom iconschapters/ch111-guide-angular-advanced-with-lucide-lab.md
ch112Filled Iconschapters/ch112-guide-angular-advanced-filled-icons.md
ch113Combining iconschapters/ch113-guide-angular-advanced-combining-icons.md
ch114Icon providerchapters/ch114-guide-angular-advanced-icon-provider.md

Static / Font / JS Modules

#TitleChapter
ch115Lucide Static Assetschapters/ch115-guide-static.md
ch116Getting startedchapters/ch116-guide-static-getting-started.md
ch117Migration from v0chapters/ch117-guide-static-migration.md
ch118Link as Imagechapters/ch118-guide-static-link-as-image.md
ch119Using the SVG spritechapters/ch119-guide-static-svg-sprite.md
ch120Icon Fontchapters/ch120-guide-static-font.md
ch121Color the fontchapters/ch121-guide-static-font-color.md
ch122Size the fontchapters/ch122-guide-static-font-sizing.md
ch123Use Lucide in Node.jschapters/ch123-guide-static-js-modules-node.md
ch124Use Lucide in Webchapters/ch124-guide-static-js-modules-web.md

VS Code Extension

#TitleChapter
ch125Visual Studio Codechapters/ch125-guide-vscode.md

Package Reference

#TitleChapter
ch126@lucide/iconschapters/ch126-guide-packages-icons.md
ch127@lucide/angularchapters/ch127-guide-packages-angular.md
ch128Lucide Astrochapters/ch128-guide-packages-lucide-astro.md
ch129Lucide Preactchapters/ch129-guide-packages-lucide-preact.md
ch130Lucide React Nativechapters/ch130-guide-packages-lucide-react-native.md
ch131Lucide Solidchapters/ch131-guide-packages-lucide-solid.md
ch132Lucide Staticchapters/ch132-guide-packages-lucide-static.md
ch133Lucide Sveltechapters/ch133-guide-packages-lucide-svelte.md
ch134Lucide Vuechapters/ch134-guide-packages-lucide-vue.md

Contributing & Design Guides

#TitleChapter
ch135Contribution Guidechapters/ch135-contribute.md
ch136Icon Design Guidechapters/ch136-contribute-icon-design-guide.md
ch137Illustrator Template Guidechapters/ch137-contribute-illustrator-guide.md
ch138Inkscape Setup Guidechapters/ch138-contribute-inkscape-guide.md
ch139Figma Template Guidechapters/ch139-contribute-figma-guide.md
ch140Affinity Designer Template Guidechapters/ch140-contribute-affinity-designer-guide.md

General & Meta

#TitleChapter
ch141Accessibility in depthchapters/ch141-guide-accessibility.md
ch142Lucide Licensechapters/ch142-license.md
ch143Community Guidechapters/ch143-community.md
ch144Comparisonchapters/ch144-guide-comparison.md
ch145Installationchapters/ch145-guide-installation.md
ch146Lucide Version 1chapters/ch146-guide-version-1.md
ch147What is Lucide?chapters/ch147-guide.md

Topic Index

  • absoluteStrokeWidth → ch006, ch019, ch033, ch046, ch058, ch071, ch081, ch094, ch107
  • Accessibility → ch010, ch021, ch035, ch048, ch060, ch073, ch083, ch109, ch141
  • Aliased Names → ch025, ch039, ch064, ch087, ch099
  • Angular → ch102–ch114, ch127
  • Astro → ch066–ch075, ch128
  • Color / currentColor → ch004, ch017, ch031, ch044, ch056, ch069, ch079, ch092, ch105, ch121
  • Combining icons → ch026, ch040, ch052, ch065, ch088, ch100, ch113
  • createIcons / data-lucide → ch001, ch002
  • Dynamic Icon Component → ch027
  • Filled Icons → ch012, ch024, ch038, ch051, ch063, ch086, ch098, ch112
  • Global Styling → ch007, ch022, ch036, ch049, ch061, ch074, ch084, ch096, ch110
  • Icon design/contribution → ch135–ch140
  • Migration (from v0 / from Feather / to @lucide/angular) → ch003, ch015, ch016, ch030, ch043, ch055, ch068, ch078, ch091, ch104, ch117
  • Preact → ch076–ch088, ch129
  • React → ch013–ch027
  • React Native → ch089–ch101, ch130
  • Sizing → ch005, ch018, ch032, ch045, ch057, ch070, ch080, ch093, ch106, ch122
  • Solid → ch053–ch065, ch131
  • Static / SVG sprite / icon font → ch115–ch124, ch132
  • Stroke width → ch006, ch019, ch033, ch046, ch058, ch071, ch081, ch094, ch107
  • Svelte → ch041–ch052, ch133
  • Tree-shaking → ch001, ch147
  • TypeScript support → ch020, ch034, ch047, ch059, ch072, ch082, ch108
  • Vue → ch028–ch040, ch134
  • VS Code extension → ch125

Supporting Files

Scope & Limits

This skill covers the Lucide guide documentation only (as of the fetch date in the source, 2026-08-22), not the full icon catalog (1000+ individual icons and their exact names/shapes) — for a specific icon's availability, check the Lucide website or the installed package directly. For implementation details specific to a given codebase, combine with project-specific tools.