GC Design System Components
GC Design System Start to use Page templates overview Basic page Components overview Breadcrumbs Button Card Checkboxes Container Date input Date modified Details Error message Error summary Fieldset File uploader Footer Grid Header Heading Icon Input Language toggle Link Notice Pagination Radios Screenreader-only Search Select Side navigation Signature Stepper Table Text Textarea Theme and topic menu Top navigation CSS shortcuts overview Reset styles Responsive layout State Box sizing Container sizing Display Overflow Position Visibility Font Font family Font size Font style Font weight Line height Link colour Link size Link text decoration List style Text align Text colour Text overflow Text transform Word break Margin Padding Align content Align items Align self Flex Flex direction Flex grow Flex shrink Flex wrap Gap Grid columns Grid rows Justify content Justify items Justify self Order Place content Place items Place self Background colour Border colour Border radius Border style Border width Icon names Icon size Image Cursor Pointer events Transition Styles overview Design tokens Colour tokens Spacing tokens Typography tokens Contact us Get involved Find 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.

  1. Explore by choosing different code values to generate the instance you want.

  2. Get the code and pull it into your environment.

  3. 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