Back to compare picker

Toggle switch vs Checkbox group vs Radio group vs Segmented control

Use a toggle switch for one immediate reversible on/off setting, a checkbox group for independent submitted choices, a radio group for one visible form answer, and a segmented control for a compact local mode or view.

Learn the decision

Match the interaction to the person's task

Use a toggle switch for one immediate reversible on/off setting, a checkbox group for independent submitted choices, a radio group for one visible form answer, and a segmented control for a compact local mode or view.

Toggle switch

Use it when: A single setting, feature, preference, or hardware-like control has two clear states.

Make this state clear: Off state.

Observe the result: Turning the switch on immediately enables the setting and announces the applied effect.

Study the full pattern →

Checkbox group

Use it when: Users can choose zero, one, or many options.

Make this state clear: Unchecked option state.

Observe the result: Clicking the label toggles the checkbox.

Study the full pattern →

Radio group

Use it when: Users must choose exactly one option.

Make this state clear: Exactly one selected option state.

Observe the result: Exactly one option is selected at a time and labels are clickable.

Study the full pattern →

Segmented control

Use it when: There are a few mutually exclusive modes.

Make this state clear: Default selected segment.

Observe the result: Selecting a segment changes a nearby local mode, filter, or view immediately.

Study the full pattern →

Practice the judgment: Imagine this situation: Using a switch to queue account deletion, file removal, payment, publishing, or another destructive command. Write the person's goal, choose one of these patterns, and show the state that helps the person continue. Use the decision rules and source trail below to explain your choice.

Review the underlying principle →

Decision dimensions

Dimension Toggle switchCheckbox groupRadio groupSegmented control
UI or UX UI + UX - Immediate binary setting controlUI + UX - Multiple-choice form controlUI + UX - Single-choice form controlUI + UX - Compact mode selector
UI guidance Give each control a clear label and visible state.Render visible native checkboxes with labels, checked states, group legend, select-all-that-apply hint, and group validation state.Render a fieldset/legend with visible native radio options, selected state, focus state, optional hints, and group-level validation.Render a compact horizontal group with two to four adjacent segments, one selected state, visible focus, and stable sizing.
UX guidance Let users change one reversible setting immediately and understand the applied effect.Let users choose independent options and review the selected set before submitting.Help the person reach a clear task outcome.Avoid using segments for unrelated pages, hidden content sections, destructive actions, or choices that need long explanation.
Good UI A notifications switch with a stable Notifications label, On or Off state text, large hit target, visible focus, and immediate applied effect.Visible checkboxes with large hit areas, persistent labels, group legend, and aligned helper text.Visible native radio options with a clear legend, selected state, focus state, and helper text.Two to four adjacent segments with a clear selected segment, visible focus ring, and readable labels that fit on one row.
Bad UI A red switch labelled Delete account that behaves like an instant destructive command.Tiny custom boxes that are hard to target.Allowing several options in the group to appear active at once.Many cramped segments with truncated text.
Good UX Turning the switch on immediately enables the setting and announces the applied effect.Clicking the label toggles the checkbox.Exactly one option is selected at a time and labels are clickable.Selecting a segment changes a nearby local mode, filter, or view immediately.
Bad UX A switch appears to change but requires a hidden Save button before anything happens.Using checkboxes for mutually exclusive choices.Using radios for choices where multiple selections are allowed.Using segments for unrelated destinations.
Best fit A single setting, feature, preference, or hardware-like control has two clear states.Users can choose zero, one, or many options.Users must choose exactly one option.There are a few mutually exclusive modes.
Avoid when The action is destructive, one-time, legal, financial, or needs confirmation.Only one option can be selected.Users can choose multiple options.Options are full content sections needing tab semantics.
Required state Off state.Unchecked option state.Exactly one selected option state.Default selected segment.
Accessibility burden Use role switch with aria-checked or a native checkbox implementation that exposes the checked state.Use programmatic labels for every checkbox.Use a programmatic group label through fieldset/legend or an accessible radiogroup name.Expose selected or pressed state and the group name.
Common misuse Using a switch to delete, publish, pay, submit, or trigger another one-time command.Using checkboxes for mutually exclusive choices.Using radios for independent choices where several answers can be true.Using segments for unrelated page navigation.

Toggle switch

UI or UX
UI + UX - Immediate binary setting control
UI guidance
Give each control a clear label and visible state.
UX guidance
Let users change one reversible setting immediately and understand the applied effect.
Good UI
A notifications switch with a stable Notifications label, On or Off state text, large hit target, visible focus, and immediate applied effect.
Bad UI
A red switch labelled Delete account that behaves like an instant destructive command.
Good UX
Turning the switch on immediately enables the setting and announces the applied effect.
Bad UX
A switch appears to change but requires a hidden Save button before anything happens.
Best fit
A single setting, feature, preference, or hardware-like control has two clear states.
Avoid when
The action is destructive, one-time, legal, financial, or needs confirmation.
Required state
Off state.
Accessibility burden
Use role switch with aria-checked or a native checkbox implementation that exposes the checked state.
Common misuse
Using a switch to delete, publish, pay, submit, or trigger another one-time command.

Checkbox group

UI or UX
UI + UX - Multiple-choice form control
UI guidance
Render visible native checkboxes with labels, checked states, group legend, select-all-that-apply hint, and group validation state.
UX guidance
Let users choose independent options and review the selected set before submitting.
Good UI
Visible checkboxes with large hit areas, persistent labels, group legend, and aligned helper text.
Bad UI
Tiny custom boxes that are hard to target.
Good UX
Clicking the label toggles the checkbox.
Bad UX
Using checkboxes for mutually exclusive choices.
Best fit
Users can choose zero, one, or many options.
Avoid when
Only one option can be selected.
Required state
Unchecked option state.
Accessibility burden
Use programmatic labels for every checkbox.
Common misuse
Using checkboxes for mutually exclusive choices.

Radio group

UI or UX
UI + UX - Single-choice form control
UI guidance
Render a fieldset/legend with visible native radio options, selected state, focus state, optional hints, and group-level validation.
UX guidance
Help the person reach a clear task outcome.
Good UI
Visible native radio options with a clear legend, selected state, focus state, and helper text.
Bad UI
Allowing several options in the group to appear active at once.
Good UX
Exactly one option is selected at a time and labels are clickable.
Bad UX
Using radios for choices where multiple selections are allowed.
Best fit
Users must choose exactly one option.
Avoid when
Users can choose multiple options.
Required state
Exactly one selected option state.
Accessibility burden
Use a programmatic group label through fieldset/legend or an accessible radiogroup name.
Common misuse
Using radios for independent choices where several answers can be true.

Segmented control

UI or UX
UI + UX - Compact mode selector
UI guidance
Render a compact horizontal group with two to four adjacent segments, one selected state, visible focus, and stable sizing.
UX guidance
Avoid using segments for unrelated pages, hidden content sections, destructive actions, or choices that need long explanation.
Good UI
Two to four adjacent segments with a clear selected segment, visible focus ring, and readable labels that fit on one row.
Bad UI
Many cramped segments with truncated text.
Good UX
Selecting a segment changes a nearby local mode, filter, or view immediately.
Bad UX
Using segments for unrelated destinations.
Best fit
There are a few mutually exclusive modes.
Avoid when
Options are full content sections needing tab semantics.
Required state
Default selected segment.
Accessibility burden
Expose selected or pressed state and the group name.
Common misuse
Using segments for unrelated page navigation.
Decision rules
  • Prefer a toggle switch when a single named setting has exactly two states, can be applied immediately, and can be reversed without confirmation.
  • Prefer a checkbox group when users answer a form question by selecting zero, one, or several independent options and reviewing those values before submit.
  • Prefer a radio group when exactly one visible option must be chosen from a short set, especially when each option needs explanation or validation as a form answer.
  • Prefer a segmented control when two to four choices switch a nearby local view, filter, sort, density, or presentation mode rather than controlling a persistent setting.
  • Do not use a switch for destructive commands, navigation, legal consent, checkout agreement, one-time actions, or choices that need a confirmation dialog.
  • Do not use a switch for three or more values such as off, weekly, and daily; use radios, segmented controls, select, or another choice pattern that exposes every value.
  • Do not use a switch when the change is only staged for a later Save button unless the interface clearly uses a checkbox or form control and communicates review-before-submit.
  • Keep the switch label stable; only the on/off state, status text, and resulting effect should change after activation.
  • Expose switch state programmatically with role switch and aria-checked, or use a native checkbox implementation that accurately reflects the checked value.
  • If the service takes time to apply the setting, show pending, failed, unavailable, disabled, or read-only state instead of pretending the setting has already completed.
Inspect live examples
Failure modes
  • Using a switch to queue account deletion, file removal, payment, publishing, or another destructive command.
  • Changing the label from Enable notifications to Disable notifications so the controlled object becomes unstable.
  • Displaying a switch for multi-level choices while hiding the actual options from users.
  • Letting a switch appear active even though the required dependency, permission, or backend service is unavailable.
  • Using a switch in a submitted form where users expect to review all answers before committing.
  • Treating a compact segmented mode switcher as a persistent on/off setting.

Saved items