GC Design SystemComponents
GC Design System Start to use Page templates overviewBasic page Components overviewAlertBreadcrumbsButtonCardCheckboxesContainerDate inputDate modifiedDetailsError messageError summaryFieldsetFile uploaderFooterGridHeaderHeadingIconInputLanguage toggleLinkNoticePaginationRadiosScreenreader-onlySearchSelectSide navigationSignatureStepperTableTextTextareaTheme and topic menuTop navigation CSS Shortcuts overview Reset styles Responsive layoutState Box sizingContainer sizingDisplayOverflowPositionVisibility FontFont familyFont sizeFont styleFont weightLine heightLink colourLink sizeLink text decorationList styleText alignText colourText overflowText transformWord break MarginPadding Align contentAlign itemsAlign selfFlexFlex directionFlex growFlex shrinkFlex wrapGapGrid columnsGrid rowsJustify contentJustify itemsJustify selfOrderPlace contentPlace itemsPlace self Background colourBorder colourBorder radiusBorder styleBorder width Icon namesIcon sizeImage CursorPointer eventsTransition Styles overviewDesign tokensColourSpacingTypography Contact usGet InvolvedFind a demo

Icon
<gcds-icon>

Also called: symbol, glyph, graphic. An icon is a symbol that visually represents an action or idea.

Icon component preview

On this page

Coding and accessibility for icons

Select a relevant icon

Render an icon by changing the name attribute to a corresponding icon name.
  • arrow-up

  • arrow-down

  • arrow-up-down

  • info-circle

  • warning-triangle

  • exclamation-circle

  • checkmark-circle

  • chevron-left

  • chevron-right

  • chevron-up

  • chevron-down

  • close

  • download

  • email

  • external

  • filter

  • phone

  • search

  • sort

  • tune

  • Specify the sizing scale

    • Change the size of an icon by setting the size attribute to a specific font size, like text-small | text |  h1 | h2 | h3 | h4 | h5 | h6.
    • Match the icon size to its accompanying text by setting the size attribute to inherit.
    • Set a minimum 24 x 24 pixel height/width for an interactive icon without text. If you can increase the size, 44 x 44 pixels exceeds accessibility standards, but is more accessible.

    Adjust the placement

    Add a margin to the left or right of an icon by setting the margin-left or margin-right attribute to a spacing value, like 0 | 25 | 50 | 75 | 100 | 125 | 150 | 175| 200 | 225| 250 | 300 | 350| 400 | 450 | 500 | 550 | 600 | 650 | 700 | 750 | 800 | 850 | 900 | 950 | 1000 | 1050 | 1100 | 1150 | 1200 | 1250.

    Set label text

    • Use the label property for an icon with no accompanying text.
    • You don’t need to use the label property if an icon is decorative.

    Examples

    Explore the different ways you can configure the component. Each example shows a working implementation and ready-to-copy code.

    In this section

    Essential attributes

    These attributes are needed for the component to function correctly.

    name

    The name attribute defines the name of a specific icon.
    <gcds-icon name="close"></gcds-icon>

    Optional attributes

    These attributes allow you to customize or extend the component’s behaviour and presentation.

    label

    The label attribute defines the icon description for non-decorative icons.
    <gcds-icon
      label="Clicking this icon will close the element."
      name="close"
    ></gcds-icon>

    margin-left

    The margin-left attribute sets the margin to the left of the icon.
    <gcds-icon name="close" margin-left="50"></gcds-icon>

    margin-right

    The margin-right attribute sets the margin to the right of the icon.
    <gcds-icon name="close" margin-right="50"></gcds-icon>

    size

    The size attribute sets the size of the icon.
    <gcds-icon name="close" size="h3"></gcds-icon>
    Code builder Generate an instance of the component you need by selecting its code properties.
    • Explore by choosing different code values to generate the instance you want.
    • Get the code and pull it into your environment.
    • Add any copy you need to the component (like text for a label).
    Note: The code builder uses English for all code elements, which follows standard practice.
    Help us improve Have questions or a request? Give feedback on our contact form. Something's wrong? Raise it through GitHub with an account. You'll have access to the team's direct responses, progress made on your issue, and issues raised by others. Give feedback Report an issue on GitHub
    2026-06-01