<div class='type'>Composable Component</div>



Checkboxes allow users to select one or more items from a set. Checkboxes can turn an option on
or off.

<img loading='lazy' class='hero-img' alt='Checkbox image' src='/static/images/material3/checkbox.png'>

<a id='references'></a>



<h2 id="checkbox-checked-oncheckedchange-modifier-enabled-colors-interactionsource">Checkbox</h2>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
@Composable
fun Checkbox(
    checked: Boolean,
    onCheckedChange: ((Boolean) -> Unit)?,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    colors: CheckboxColors = CheckboxDefaults.colors(),
    interactionSource: MutableInteractionSource? = null,
)
```


#### Parameters

| | |
| --- | --- |
| checked | whether this checkbox is checked or unchecked |
| onCheckedChange | called when this checkbox is clicked. If `null`, then this checkbox will not be interactable, unless something else handles its input events and updates its state. |
| modifier | the `Modifier` to be applied to this checkbox |
| enabled | controls the enabled state of this checkbox. When `false`, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services. |
| colors | `CheckboxColors` that will be used to resolve the colors used for this checkbox in different states. See `CheckboxDefaults.colors`. |
| interactionSource | an optional hoisted `MutableInteractionSource` for observing and emitting `Interaction`s for this checkbox. You can use this to change the checkbox's appearance or preview the checkbox in different states. Note that if `null` is provided, interactions will still happen internally. |






<hr class="docs-overload-divider">


<h2 id="checkbox-checked-oncheckedchange-checkmarkstroke-outlinestroke-modifier-enabled-colors-interactionsource">Checkbox</h2>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
@Composable
fun Checkbox(
    checked: Boolean,
    onCheckedChange: ((Boolean) -> Unit)?,
    checkmarkStroke: Stroke,
    outlineStroke: Stroke,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    colors: CheckboxColors = CheckboxDefaults.colors(),
    interactionSource: MutableInteractionSource? = null,
)
```


#### Parameters

| | |
| --- | --- |
| checked | whether this checkbox is checked or unchecked |
| onCheckedChange | called when this checkbox is clicked. If `null`, then this checkbox will not be interactable, unless something else handles its input events and updates its state. |
| checkmarkStroke | stroke for the checkmark. |
| outlineStroke | stroke for the checkmark's box outline. Note that this stroke is applied when drawing the outline's rounded rectangle, so attributions such as `androidx.compose.ui.graphics.StrokeJoin` will be ignored. |
| modifier | the `Modifier` to be applied to this checkbox |
| enabled | controls the enabled state of this checkbox. When `false`, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services. |
| colors | `CheckboxColors` that will be used to resolve the colors used for this checkbox in different states. See `CheckboxDefaults.colors`. |
| interactionSource | an optional hoisted `MutableInteractionSource` for observing and emitting `Interaction`s for this checkbox. You can use this to change the checkbox's appearance or preview the checkbox in different states. Note that if `null` is provided, interactions will still happen internally. |