CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-react-icons

SVG React icons of popular icon packs using ES6 imports

Pending
Overview
Eval results
Files

icon-libraries.mddocs/

Icon Libraries

Access to 40,000+ icons from 30+ different icon libraries including Font Awesome, Material Design, Bootstrap, Feather, and many more. Each library provides hundreds to thousands of individual icon components with consistent API patterns.

Capabilities

Available Icon Libraries

React Icons includes the following icon libraries:

// Font Awesome Icons
import { FaBeer, FaFolder, FaRegClipboard } from "react-icons/fa";     // 1,612 icons
import { Fa500Px, FaAccessibleIcon } from "react-icons/fa6";           // 2,045 icons

// Material Design Icons  
import { MdAccessibility, MdHome, MdOutlineHome } from "react-icons/md"; // 4,341 icons

// Popular Icon Sets
import { AiFillFolder, AiOutlineFolder } from "react-icons/ai";         // 831 icons (Ant Design)
import { BsFolder, BsFillFolder } from "react-icons/bs";               // 2,716 icons (Bootstrap)
import { BiFolder, BiFolderOpen } from "react-icons/bi";               // 1,634 icons (BoxIcons)
import { CgFolder, CgFolderAdd } from "react-icons/cg";                // 704 icons (css.gg)
import { CiFolder, CiFolderOpen } from "react-icons/ci";               // 288 icons (Circum Icons)
import { DiFolder, DiGit } from "react-icons/di";                      // 192 icons (Devicons)
import { FcFolder, FcOpenedFolder } from "react-icons/fc";             // 329 icons (Flat Color Icons)
import { FiFolder, FiFolderPlus } from "react-icons/fi";               // 287 icons (Feather)
import { GiFolder, GiFolderOpen } from "react-icons/gi";               // 4,040 icons (Game Icons)
import { GoFolder, GoFileDirectory } from "react-icons/go";            // 264 icons (GitHub Octicons)
import { GrFolder, GrFolderOpen } from "react-icons/gr";               // 635 icons (Grommet Icons)
import { HiFolder, HiFolderOpen } from "react-icons/hi";               // 460 icons (Heroicons)
import { HiOutlineFolder, HiSolidFolder } from "react-icons/hi2";      // 888 icons (Heroicons 2)
import { ImFolder, ImFolderOpen } from "react-icons/im";               // 491 icons (IcoMoon Free)
import { IoFolder, IoFolderOpen } from "react-icons/io";               // 696 icons (Ionicons 4)
import { IoFolderOutline, IoFolder } from "react-icons/io5";           // 1,332 icons (Ionicons 5)
import { LiaFolder, LiaFolderOpenSolid } from "react-icons/lia";       // ~800 icons (Line Awesome)
import { LuFolder, LuFolderOpen } from "react-icons/lu";               // 1,215 icons (Lucide)
import { PiFolder, PiFolderOpen } from "react-icons/pi";               // 9,072 icons (Phosphor Icons)
import { RiFolder2Line, RiFolderOpenLine } from "react-icons/ri";      // 2,860 icons (Remix Icon)
import { RxFolder, RxOpenInNewWindow } from "react-icons/rx";          // 318 icons (Radix Icons)
import { SiFolder, SiGithub } from "react-icons/si";                   // 3,209 icons (Simple Icons)
import { SlFolder, SlFolderAlt } from "react-icons/sl";                // 189 icons (Simple Line Icons)
import { TbFolder, TbFolderOpen } from "react-icons/tb";               // 5,237 icons (Tabler Icons)
import { TfiFolder, TfiFolderOpen } from "react-icons/tfi";            // 352 icons (Themify Icons)
import { TiFolder, TiFolderOpen } from "react-icons/ti";               // 336 icons (Typicons)
import { VscFolder, VscFolderOpened } from "react-icons/vsc";          // 461 icons (VS Code Icons)
import { WiCloud, WiDaySunny } from "react-icons/wi";                  // 219 icons (Weather Icons)

Icon Component Pattern

All icon components follow the same pattern and accept identical props:

/**
 * Universal icon component interface
 * All icon components implement this pattern
 */
type IconType = (props: IconBaseProps) => React.ReactNode;

interface IconBaseProps extends React.SVGAttributes<SVGElement> {
  /** Child React elements (rarely used with icon components) */
  children?: React.ReactNode;
  /** Icon size override (e.g., "24px", "1.5em", 24) */
  size?: string | number;
  /** Icon color override (e.g., "red", "#ff0000", "currentColor") */
  color?: string;
  /** Accessibility title for screen readers */
  title?: string;
}

Usage Examples:

import { FaBeer } from "react-icons/fa";
import { MdAccessibility } from "react-icons/md";
import { AiFillHeart } from "react-icons/ai";

// Basic usage
<FaBeer />
<MdAccessibility />
<AiFillHeart />

// With custom properties
<FaBeer size="32px" color="orange" title="Beer icon" />
<MdAccessibility size={24} color="#0066cc" />
<AiFillHeart size="1.5em" style={{ marginRight: 8 }} />

// With SVG attributes
<FaBeer 
  size="48px" 
  color="gold"
  className="beer-icon"
  onClick={() => console.log('Beer clicked!')}
/>

Library-Specific Import Patterns

Each icon library can be imported from its dedicated path:

// Font Awesome 5
import { FaBeer, FaFolder, FaHome } from "react-icons/fa";

// Font Awesome 6
import { Fa500Px, FaAccessibleIcon, FaAddressBook } from "react-icons/fa6";

// Material Design
import { MdAccessibility, MdHome, MdSettings } from "react-icons/md";

// Ant Design Icons
import { AiFillFolder, AiOutlineFolder, AiTwotoneLock } from "react-icons/ai";

// Bootstrap Icons
import { BsFolder, BsFillFolder, BsHouse } from "react-icons/bs";

// And so on for all 30+ libraries...

Alternative Import Methods

For ultra-specific imports (useful for very large applications), React Icons provides a separate package:

// Individual file imports using the @react-icons/all-files package
// Note: This is a separate npm package that must be installed separately
import FaBeer from "@react-icons/all-files/fa/FaBeer";
import MdHome from "@react-icons/all-files/md/MdHome";

// Installation: npm install @react-icons/all-files

Tree Shaking

React Icons supports automatic tree-shaking with modern bundlers:

// Only FaBeer and MdHome will be included in your bundle
import { FaBeer } from "react-icons/fa";
import { MdHome } from "react-icons/md";

// This imports the entire fa library (not recommended)
import * as fa from "react-icons/fa";

Icon Library Reference

Font Awesome Family

  • fa: Font Awesome 5 (1,612 icons) - Classic icons with solid, regular, and brand variants
  • fa6: Font Awesome 6 (2,045 icons) - Latest Font Awesome with new icons and styles

Google Material Design

  • md: Material Design Icons (4,341 icons) - Google's comprehensive icon set

Popular Design Systems

  • ai: Ant Design Icons (831 icons) - Enterprise-focused icons
  • bs: Bootstrap Icons (2,716 icons) - Simple, consistent icons
  • hi: Heroicons (460 icons) - Beautiful hand-crafted SVG icons
  • hi2: Heroicons 2 (888 icons) - Updated Heroicons collection

Developer-Focused Libraries

  • di: Devicons (192 icons) - Programming language and tool icons
  • go: GitHub Octicons (264 icons) - GitHub's icon set
  • vsc: VS Code Icons (461 icons) - Visual Studio Code interface icons
  • si: Simple Icons (3,209 icons) - Brand icons for popular services

Specialized Collections

  • gi: Game Icons (4,040 icons) - RPG and gaming-themed icons
  • wi: Weather Icons (219 icons) - Weather condition icons
  • fc: Flat Color Icons (329 icons) - Colorful flat design icons

Advanced Usage

Dynamic Icon Selection

import * as Icons from "react-icons/fa";

function DynamicIcon({ iconName, ...props }) {
  const Icon = Icons[iconName];
  return Icon ? <Icon {...props} /> : null;
}

// Usage
<DynamicIcon iconName="FaBeer" size="24px" color="gold" />

Icon Mapping

const iconMap = {
  home: MdHome,
  folder: FaFolder,
  settings: BsGear,
  user: AiOutlineUser
};

function MappedIcon({ type, ...props }) {
  const Icon = iconMap[type];
  return Icon ? <Icon {...props} /> : null;
}

Install with Tessl CLI

npx tessl i tessl/npm-react-icons

docs

context-configuration.md

core-components.md

icon-libraries.md

index.md

tile.json