Skip to content
TrademarkTrademark
Docs
Components

IconButton

Updated: October 11, 2026
View on GitHub

The IconButton component provides a compact, icon-based interactive element for user actions. It's ideal for toolbar actions, navigation controls, and other UI elements where space is limited.

Sizes

IconButtons come in different sizes to accommodate various use cases.

Tooltip

Add tooltips to provide context for icon buttons.

Accessible name

An icon button has no text, so it needs a name for screen readers. It takes the first of aria-label, ariaLabel and a tooltip that is plain text, so the tooltips above already name their buttons. It is never named after its icon key. Without any of them it warns in development.

Radius

Customize the border radius of the IconButton for different design needs.

IconButtons can function as links when provided with an href property.

Custom content

Use the children prop to add custom content to the IconButton.

API reference

Type
Default
icon
IconNamerefresh
id
string—
size
xllmsxs
m
corners
nonetoprightbottomlefttop-lefttop-rightbottom-rightbottom-left
—
rounded
Fully rounded corners.
booleanfalse
tooltip
Hover and focus hint. A plain-text tooltip also names the button when it has no aria-label.
ReactNode—
tooltipPosition
topbottomleftright
top
variant
primarysecondarytertiaryquaternarysubtledangersuccesswarningghostlink
primary
loading
Swap the icon for a spinner and block interaction.
booleanfalse
disabled
booleanfalse
className
string—
style
React.CSSProperties—
href
string—
children
React.ReactNode—
color
`${ColorScheme}-${ColorWeight}`—
ariaLabel
The accessible name, as on the other components. A native aria-label wins over it.
string—
…and every React.ButtonHTMLAttributes propinherited—
Edit this page on GitHub