Chakra provides multiple ways to use icons in your project:
🚨 Avoid passing
onClickhandlers to icon components. If you need a clickable icon, use the IconButton instead.
Chakra maintains an official library of icons for you to use in your project!
Import the icons from @chakra-ui/icons and style them with
style props.
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/>
Chakra makes it easy to use third-party icon libraries like
react-icons.
Wrap your third-party icon of choice with the Icon component using the as
prop and style them using style props.
Chakra provides two methods for creating your own icons:
They can be imported from @chakra-ui/core:
Both Icon and createIcon enable you to style the icon using
style props.
Icon component#The Icon component renders as an svg element.
This enables you to define your own custom icon components:
And style them with style props:
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.
svg from Figma,
Sketch, etc.When children is not provided, the Icon component renders a fallback icon.
Icon props#| Name | Type | Default | Description |
|---|---|---|---|
viewBox | string | 0 0 24 24 | The viewBox of the icon. |
boxSize | string | 1em | The size of the icon. |
color | string | currentColor | The color of the icon. |
focusable | boolean | false | Denotes that the icon is not an interative element, and only used for presentation. |
role | presentation, img | presentation | The html role of the icon. |
children | React.ReactNode | The Path or Group of the icon |
createIcon options#| Name | Type | Default | Description |
|---|---|---|---|
viewBox | string | 0 0 24 24 | The viewBox of the icon. |
d | string | The pathDefinition of the icon. | |
path | `React.ReactNode | React.ReactNode[]` | |
displayName | string | The display name useful in the dev tools |