TrademarkTrademark
Docs
Ctrl k
Search docs...
Components

IconButton

Updated: October 18, 2026
View on GitHub
Soon
Not released yet. This is on main and is not in any published version yet. It will not install today.

IconButton is a square Pressable that shows one icon. It takes the same variant values as Button and handles taps with onPress. See the web IconButton page for more on when to use it.

Accessible name

An icon alone tells a screen reader nothing, so give every IconButton an ariaLabel. Without one, and without children, it logs a warning.

Sizes and shape

size takes xs to xl, from 20 to 48 points square. m (32 points) is the default. Every size takes taps from a 44 point area. rounded makes it a circle.

Colour and custom content

color sets the icon colour, such as "brand-medium". By default it follows the variant. Children replace the icon, for an element of your own.

Differences from the web

  • No tooltip. There is no hover on a touch screen. tooltip is still accepted and becomes the accessible name when ariaLabel is not set.
  • onPress. Taps go to onPress, as on any Pressable. There is no onClick or href.
  • Pressed, not hover. The variant's pressed colours show while the finger is down.

Props

IconButton also takes every React Native Pressable prop except children and style, which it replaces.

Prop
Type
Default
Description
iconIconName"refresh"The icon to show.
ariaLabelstringThe accessible name.
tooltipstringUsed as the accessible name when ariaLabel is not set.
variantButtonVariant"primary"Visual style, as on Button.
size"xs" | "s" | "m" | "l" | "xl""m"20, 24, 32, 40 or 48 points square.
roundedbooleanfalseMakes the button a circle.
color"<scheme>-<weight>"Icon colour. Defaults to the variant's label colour.
loadingbooleanfalseShows a spinner and blocks presses.
disabledbooleanfalseGreys the button out and blocks presses.
childrenReactNodeReplaces the icon.
onPress(event) => voidCalled on tap.
styleViewStyleApplied after the button's own style.
Edit this page on GitHub
TrademarkTrademark
Built with curiosity by Lorant One and the Design Engineers Club