Icons

Icon set and usage guidelines.

Why Carbon?

  • Consistent visual weight — all icons share the same stroke width and optical sizing.
  • Multiple sizes — 16, 20, 24, and 32px variants available for every icon.
  • Accessible by default — each icon component accepts aria-label and title props.
  • Tree-shakeable — only the icons you import are included in the bundle.

Usage

Import icons directly from @carbon/icons-react:

tsx
import { Add, Search, Close } from "@carbon/icons-react"
 
function Toolbar() {
return (
<div className="flex gap-2">
<button aria-label="Add item"><Add size={20} /></button>
<button aria-label="Search"><Search size={20} /></button>
<button aria-label="Close"><Close size={20} /></button>
</div>
)
}
11 lines of tsx code

Size conventions

ContextSizeExample
Inline with text16pxBreadcrumb chevrons, status indicators
Toolbar buttons20pxAction bar icons
Standalone buttons24pxNavigation icons, card actions
Hero or empty states32pxIllustration-style usage

Always pair icons with visible text labels or aria-label attributes for accessibility. Avoid using icons as the sole means of conveying meaning.