IconButton

Button

Icon-only button with size variants, accessibility labels, and interaction states

IconButton

A compact button designed specifically for icons. Perfect for toolbars, lists and action menus.

Basic usage

Pass an icon via the icon prop. Use internal state for toggles like favorite, mute, and play/pause.

Like
Sound on
Paused

Variants & colors

Use different variant and color props to match emphasis and intent.

Variants

Colors

Loading & disabled states

Show progress with loading and prevent interaction with disabled.

Loading
Disabled

Usage Guidelines

When to Use

  • Toolbar icons
  • Close buttons
  • Toggle buttons

Accessibility

  • Requires aria-label for screen readers
  • Focus visible indicator

Performance

  • Icon components tree-shakable
  • CSS-only states

Common Mistakes

  • Missing aria-label
  • Icon not conveying action clearly

Frequently Asked Questions

Use IconButton when the action is clear from context and an icon alone is sufficient, like close or menu buttons.
Yes, always provide aria-label for IconButton to ensure accessibility for screen readers.

View on GitHub

See the full source code on GitHub