A box the user can check or uncheck, with an indeterminate state.
boolean |
false |
Whether the checkbox is initially ticked. To render a controlled checkbox, use the |
disabled | boolean | false | Whether the component should ignore user interaction. |
form | string | – | Identifies the form that owns the hidden input. Useful when the checkbox is rendered outside the form. |
id | string | – | The id of the input element. |
indeterminate | boolean | false | Whether the checkbox is in a mixed state: neither ticked, nor unticked. |
inputRef | Ref<HTMLInputElement> | – | A ref to access the hidden |
name | string | undefined | Identifies the field when a form is submitted. |
nativeButton | boolean | false | Whether the component renders a native |
onCheckedChange | ((checked: boolean, eventDetails: CheckboxRootChangeEventDetails) => void) | – | Event handler called when the checkbox is ticked or unticked. |
parent | boolean | false | Whether the checkbox controls a group of child checkboxes. Must be used in a [Checkbox Group](https://base-ui.com/react/components/checkbox-group). |
readOnly | boolean | false | Whether the user should be unable to tick or untick the checkbox. |
required | boolean | false | Whether the user must tick the checkbox before submitting a form. |
uncheckedValue | string | – | The value submitted with the form when the checkbox is unchecked. By default, unchecked checkboxes do not submit any value, matching native checkbox behavior. |
value | string | – | The checkbox's value. Identifies it within a [Checkbox Group](https://base-ui.com/react/components/checkbox-group), falling back to |
variant | "default"|"diamond"|"expressive"|"sharp" | default | The visual style of the component. |
Accepts className, style and render, plus every native attribute of the element it renders.