Skip to main content
The Checkbox component allows users to select one or more items from a set. It supports individual checkboxes and checkbox groups with support for indeterminate states.

Basic usage

Props

Checkbox

boolean | 'indeterminate'
The controlled checked state. Can be true, false, or ‘indeterminate’.
boolean
The default checked state for uncontrolled usage.
(checked: boolean | 'indeterminate') => void
Callback fired when the checked state changes.
boolean
Whether the checkbox is disabled.
boolean
Whether the checkbox is required.
string
The name of the checkbox input for form submission.
string
The value of the checkbox input for form submission.
string
Additional CSS classes to apply to the checkbox.

Checkbox.Group

string[]
The controlled array of checked values.
string[]
The default array of checked values for uncontrolled usage.
(value: string[]) => void
Callback fired when the checked values change.
boolean
Whether all checkboxes in the group are disabled.
string
Additional CSS classes to apply to the group container.

Single checkbox

Checkbox group

Indeterminate state

Disabled state

With form integration

Required checkbox

Select all pattern

Accessibility

  • Built on Base UI Checkbox primitive with full accessibility support.
  • Proper ARIA attributes are automatically applied.
  • Supports keyboard navigation with Space to toggle.
  • Indeterminate state is properly communicated to screen readers.
  • Works seamlessly within forms with proper name/value attributes.
  • Label association ensures the entire label is clickable.