Skip to Content
Sponsor

Icon

Chakra provides multiple ways to use icons in your project:

🚨 Avoid passing onClick handlers to icon components. If you need a clickable icon, use the IconButton instead.

Using Chakra UI icons#

Chakra provides a set of commonly used interfact icons you can use in your project. To these icons, install @chakra-ui/icons, import the icon you need and style them.

Installation#

Usage#

All Icons#

Below is a list of all of the icons in the library, along with the corresponding component names:

AddIcon

ArrowBackIcon

ArrowDownIcon

ArrowForwardIcon

ArrowLeftIcon

ArrowRightIcon

ArrowUpIcon

ArrowUpDownIcon

AtSignIcon

AttachmentIcon

BellIcon

CalendarIcon

ChatIcon

CheckIcon

CheckCircleIcon

ChevronDownIcon

ChevronLeftIcon

ChevronRightIcon

ChevronUpIcon

CloseIcon

CopyIcon

DeleteIcon

DownloadIcon

DragHandleIcon

EditIcon

EmailIcon

ExternalLinkIcon

HamburgerIcon

InfoIcon

InfoOutlineIcon

LinkIcon

LockIcon

MinusIcon

MoonIcon

NotAllowedIcon

PhoneIcon

PlusSquareIcon

QuestionIcon

QuestionOutlineIcon

RepeatIcon

RepeatClockIcon

SearchIcon

Search2Icon

SettingsIcon

SmallAddIcon

SmallCloseIcon

SpinnerIcon

StarIcon

SunIcon

TimeIcon

TriangleDownIcon

TriangleUpIcon

UnlockIcon

UpDownIcon

ViewIcon

ViewOffIcon

WarningIcon

WarningTwoIcon

Using a third-party icon library#

To use third-party icon libraries like react-icons, here are the steps:

  1. Import the Icon component from @chakra-ui/react
  2. Pass the desired third party icon into the as prop

Some Examples#

Editable Example

Creating your custom icons#

Chakra provides two methods for creating your custom icons:

They can be imported from @chakra-ui/react:

Both Icon and createIcon enable you to style the icon using style props.

Using the Icon component#

The Icon component renders as an svg element.

Editable Example

This enables you to define your own custom icon components:

And style them with style props:

Editable Example

Using the createIcon function#

The createIcon function is a convenience wrapper around the process of generating icons with Icon, allowing you to achieve the same functionality with less effort.

Tips for generating your own icons#

  • Export icons as svg from Figma, Sketch, etc.
  • Use a tool like SvgOmg to reduce the size and minify the markup.

Fallback Icon#

When children is not provided, the Icon component renders a fallback icon.

Editable Example

Props#

Icon props#

NameTypeDefaultDescription
viewBoxstring0 0 24 24The viewBox of the icon.
boxSizestring1emThe size (width and height) of the icon.
colorstringcurrentColorThe color of the icon.
focusablebooleanfalseDenotes that the icon is not an interative element, and only used for presentation.
rolepresentation, imgpresentationThe html role of the icon.
childrenReact.ReactNodeThe Path or Group of the icon

createIcon options#

NameTypeDescriptionDefault
defaultPropsIconPropsDefault props automatically passed to the component; overwriteable-
displayNamestringThe display name useful in the dev tools-
pathReact.ReactElement | React.ReactElement[]The `svg` path or group element-
viewBoxstringThe icon `svg` viewBox"0 0 24 24"
Edit this page