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

Search
<gcds-search>

Also called: search bar, site search box, search field. Search is a space for entering keywords to find relevant information.
  • Required on Canada.ca

Search component preview

On this page

Place the search in the header

  • Place the search component in the header below the language toggle and in line with the Government of Canada signature.
  • Ensure the header is responsive so that the search appears below both the signature and the language toggle on mobile devices.

Set up search for content on Canada.ca

  • Use the search component to perform a global search on Canada.ca. By default, the component is set to search Canada.ca.
  • Opt to set the search to an institution or program specific area.

Opt to replace the search endpoint for applications or transactional sites

  • Opt to replace the search endpoint for an application or a transactional site when leaving the site would interrupt a person’s task or flow.
  • Use the component’s default HTTP request method, GET, or opt to use POST by setting the method attribute.
  • Set the action attribute to an endpoint of your choice and set the placeholder attribute, so the text of the search prompt reflects the scope of search. The set placeholder text will also populate the label text.

Examples

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

In this section

Optional attributes

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

action

The action attribute controls where the form will send the form data.
<gcds-search action="search.html"></gcds-search>

method

The method attribute controls how the form will send the form data. The available options are:
  • get
  • post
<gcds-search method="post"></gcds-search>

name

The name attribute specifies the name of the search input when submitting the form data.
<gcds-search name="search"></gcds-search>

placeholder

The placeholder attribute specifies the placeholder and label for the input. The input will format the label and placeholder like “Search [placeholder]”.
<gcds-search placeholder="GC Design System"></gcds-search>

search-id

The search-id attribute specifies the id for the input.
<gcds-search search-id="searchform"></gcds-search>

suggested

The suggested attribute specifies a list of predefined search times. The list will appear as a dropdown list on the input when it is focused.
<gcds-search
  suggested="['red', 'green', 'blue']"
></gcds-search>

value

The value attribute specifies the value of the input. Setting the value will prepopulate the search input.
<gcds-search value="Design system"></gcds-search>
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-05-20