React Checkbox Overview

    The React Checkbox is a component that lets you add checkboxes to your React apps. It behaves as a standard HTML checkbox, enabling users to select basic checked and unchecked states or an additional indeterminate state. You also get full control over the styling of the React checkbox component and ability to use it with forms.

    Checkbox Example


    At its core, the IgrCheckbox allows for a choice between selected/unselected state. The default styling is done according to the selection controls specification in the Material Design guidelines.

    First, you need to the install the corresponding Ignite UI for React npm package by running the following command:

    npm install igniteui-react

    You will then need to import the IgrCheckbox, its necessary CSS, and register its module, like so:

    import { IgrCheckboxModule, IgrCheckbox } from 'igniteui-react';
    import 'igniteui-webcomponents/themes/light/bootstrap.css';

    The simplest way to start using the IgrCheckbox is as follows:


    [!WARNING] The IgrCheckbox component doesn't work with the standard <form> element. Use IgrForm instead.



    To provide a meaningful label for the checkbox, simply place some text between the opening and closing tags:


    You can specify if the label should be positioned before or after the checkbox toggle by setting the label-position attribute of the checkbox. Allowed values are before and after (default):

    <IgrCheckbox labelPosition="before"></IgrCheckbox>

    The checkbox can also be labelled by elements external to the checkbox. In this case, the user is given full control to position and style the label in accordance with their needs.

    <span id="checkbox-label">Label</span>
    <IgrCheckbox ariaLabelledby="checkbox-label" labelPosition="before"></IgrCheckbox>


    You can use the checked attribute of the component to determine whether the checkbox should be toggled on or off by default.

    <IgrCheckbox checked="true"></IgrCheckbox>


    You can use the indeterminate property of the component to set the checkbox's value to neither true nor false.

    <IgrCheckbox indeterminate="true"></IgrCheckbox>


    You can use the required property to mark the checkbox as required.

    <IgrCheckbox required="true"></IgrCheckbox>


    You can use the invalid attribute to mark the checkbox as invalid.

    <IgrCheckbox invalid="true"></IgrCheckbox>


    You can use the disabled attribute to disable the checkbox.

    <IgrCheckbox disabled="true"></IgrCheckbox>


    You can use the name and value attributes when using the checkbox with IgrForm.

    <IgrCheckbox name="wifi" value="enabled"></IgrCheckbox>


    The checkbox component exposes several CSS parts (base, control, indicator, and label) to give you full control over its styling.

    igc-checkbox::part(indicator) {
      &::after {
        padding: 12px;
        border-radius: 14px;
    igc-checkbox::part(indicator checked) {
      border-radius: 0;
      &::after {
        background: olive;
        border-color: olive;
        stroke: beige;

    API References

    Additional Resources