Save space for actions
Use icon buttons in toolbars, table rows, and compact headers.
An icon button combines an icon and a button into a compact interactive control.
Use icon buttons in toolbars, table rows, and compact headers.
Add an accessible label because the button has no visible text.
The component keeps icon-only actions aligned, sized, and styled consistently.
Button container
Icon
Icon button variants control the visual weight of the control to suit different interface contexts.
The default filled variant is visually heavier. Use in toolbars or alongside other solid controls where the icon button needs to stand out.
Icon button tone changes the colour treatment within the selected variant so the action can match the surrounding context.
The default tone. Use for standard icon-only actions in the main SGDS brand colour system.
Icon button sizes let you match the control to the density of the surrounding layout.
The default size. Use for most icon-only actions across forms, dialogs, and general page content.
Use the disabled state to prevent interaction when the action is not available in the current context.
The default. Icon buttons are interactive and respond to pointer and keyboard input.
Show a loading spinner inside the icon button while a triggered action is in progress.
The default state. The icon is shown and the button is interactive.
Use active when an icon button represents a selected tool or toggled state.
Use for available actions that are not selected.
Each row is a colour, spacing, or size value the component uses, and the right-most column tells you where in the component you'll see it.
sgds-dimension-4848pxReserve icon-only buttons for widely understood actions: search, close, edit, and delete.
Primary actions deserve a visible label. Use a regular button with text rather than an icon-only one.
Without visible text, icon buttons need an aria-label so screen reader users know what the action does.
Avoid styling destructive actions like neutral ones, or using danger tone for harmless actions.
Use danger for destructive actions, neutral for quiet utility, and the brand default for everything else.
When icon buttons sit side by side, use the ghost variant or add spacing so users can tell them apart.
href is provided.ariaLabel for the accessible name.TabShift+TabEnterSpaceShare them with us on Slack → #ask-sgds-v3
Report it on GitHub Issues → sgds/components/icon-button
The Singapore Government Design System was developed to empower teams in creating fast, accessible and mobile-friendly digital services.