Icons

lucide-react / Material Icons / Font Awesome

Our pick

lucide-react

It comes with shadcn/ui, so you can use it right away. There are so many icons that you'll easily find the one you want

Compare the result

We built the same thing with each library. Try them out.

lucide-react
Material Icons
Font Awesome

Compare the code

Edit the code and the preview on the right updates.

import { HouseIcon, SettingsIcon, SearchIcon, HeartIcon, BellIcon, UserIcon } from "lucide-react"
import { Tile, TileGrid } from "./Tile"

export default function App() {
  return (
    <TileGrid>
      <Tile label="Home"><HouseIcon size={24} /></Tile>
      <Tile label="Settings"><SettingsIcon size={24} /></Tile>
      <Tile label="Search"><SearchIcon size={24} /></Tile>
      <Tile label="Favorites"><HeartIcon size={24} /></Tile>
      <Tile label="Notifications"><BellIcon size={24} /></Tile>
      <Tile label="User"><UserIcon size={24} /></Tile>
    </TileGrid>
  )
}

Comparison

As of October 2026

lucide-react

Our pickOfficial site ↗

Features

Over 1,500 simple line icons. You import each one as a component

Best for

You use shadcn/ui (it's included by default). You want a wide selection

Material Icons

Official site ↗

Features

Google's icons, with the same look as Android and Google's services. Choose from styles like filled, outlined, and rounded

Best for

You use MUI. You want a familiar, Google-like look

Font Awesome

Official site ↗

Features

The most famous icon set. Used on regular sites and WordPress since before React. Has a free version and a paid version (Pro)

Best for

You also want brand logo icons (X, GitHub, etc.). You're working on a site that already uses it