Checkboxes enable users to select one or more options from a short list. They are commonly used in forms, filter menus, or any scenario where users may want to select multiple options from a short list.

Also known as: Check box, tick box, checkBox (Android).

Anatomy

A single checkbox with a description below and a checkbox group.

A. Checkbox (required): Interactive element enabling users to select an option.
B. Option label (required): Brief text describing the checkbox option.
C. Description (optional): Brief message detailing important information about the option.
D. Checkbox group (optional): Two or more related checkboxes presented in a group.
E. Group label (required): Brief description of options available for selection.

Usage

When to use and when not to use different types of checkboxes
Component When to use When not to use
Default checkboxTo present a binary choice where the user can select or deselect a single option.To present multiple options the user can choose between. Use a checkbox group instead.
Checkbox groupTo present a short list of options where the user can select one or multiple. If users must select one option from a short list. Use a Radio button group instead.

For long lists where all options can’t be viewed at once or require scrolling. Use a Multi-select listbox instead.

For long lists where users would benefit from entering text to filter or search the list options. Use Multiselect instead.

To present a list of actions. Use a Dropdown menu instead.
Checkbox panelTo present a binary choice where the user can select or deselect a single option.

To provide an increased touch area.
To present multiple checkbox panels in a list. Use a checkbox panel group instead.

When space is limited.
Checkbox panel groupTo present a short list options where the user can select one or multiple.

To provide an increased touch area.
If users can only select one option from a list. Use a Radio panel group instead.

When space in limited.

Best practices

  • Ensure checkboxes appear visually different when selected and unselected by using the fill color and “check” icon.
  • Ensure users can select anywhere within the checkbox or associated option label to choose an option.
  • List options in a logical order, either alphabetically or according to the most common or likely selection.
  • Avoid using a horizontal layout for checkbox groups and panel groups, as vertical layouts are easier to scan and more adaptable for small screens.
  • Always indicate that more than one option can be selected using phrasing like “Select one or more options”.
Three checkboxes labeled 'Allow personalized ads', 'Share my purchase data with partners' and 'Use my spending habits for insights.'

Do Use one checkbox for each selectable option in a group.

A checkbox labeled 'Export to'

Don't Use a checkbox to prompt actions or other controls.

Standalone checkboxes

Standalone checkboxes refer to checkboxes used alone to present a single, independent option that doesn’t relate to any others. They’re typically used to enable settings, agree to terms and conditions, or present a binary choice, where selecting the checkbox indicates agreement and not selecting indicates disagreement.

  • Use the default checkbox component to present a standalone option.
  • Frame options so that selecting the checkbox indicates agreement and not selecting the checkbox indicates disagreement.
A checkbox labeled 'I agree' for a terms and conditions agreeement.

Do Use a standalone checkbox to present a choice with a clear opposite state such as yes/no, agree/disagree, or opt-in/out.

A checkbox group with the option to choose I agree and I do not agree for a terms and conditions agreement.

Don't Use two checkboxes to present opposite choices, as users could select both checkboxes at once.

Checkbox panels

Checkbox panels are an alternative to default checkboxes. They’re available as standalone elements or in groups and can be used to draw attention to the checkbox or provide an increased touch area on small screens.

  • Ensure users can select anywhere within the checkbox, label, or panel to choose an option.
A checkbox panel on focus state. The focus state is applied to the container.

Do Use panel states with the checkbox panel component.

A checkbox panel but only the checkbox is on focus state.

Don't Use checkbox states with the checkbox panel component.

A checkbox panel used for the terms and agreements section in a form.

Do Use checkbox panels to draw attention to a standalone checkbox or checkbox group.

Multiple checkbox panels used in a form.

Don't Use too many checkbox panels in the same area, as they may be visually overwhelming.

Checkbox groups

Checkbox groups and panel groups are sets of default checkboxes or checkbox panels placed under a single group label. They’re commonly used to present a short list of related options available for selection.

  • Use a checkbox group or panel group for short lists where all options can be viewed without scrolling.
A checkbox group with options relating to alert preferences.

Do Use a checkbox group when there are multiple options available under the same category or prompt.

Three individual checkboxes relating to account security.

Don't Use standalone checkboxes when options could be consolidated under one group label.

Label size for panel groups

Group labels for panel groups are available in two sizes. Use whichever is appropriate depending on your use case and the overall hierarchy of your experience.

Default

The default option is the UI label font size and matches the text in option descriptions.

A checkbox panel group with the label size in default.
  • Use the default size to reduce visual weight for users when multiple checkbox panel groups are used together.

Large

The large UI label size is an alternative option that can be used to draw attention to the checkbox panel group label.

A checkbox panel group with the label size in large.
  • Use the large size to draw attention to a standalone checkbox panel group.

Hidden labels

Checkbox groups and panel groups should always include a group label. However, there are some cases where hiding the group label can provide design flexibility or space for additional context. If the group label within the component build is hidden, include an alternate label elsewhere on the screen as well as within the code for accessibility.

A checkbox group in a form with its label hidden. The checkbox group is within a question on the form that provides context about the checkbox group.

Nested options

In some cases it may be appropriate to format checkbox groups with nested options. Users can select all nested options by selecting the parent or top-level checkbox, or unselect all nested options to by unselecting the parent checkbox. Alternatively, users can select nested options individually when the parent option is not selected. When the parent checkbox shows the indeterminate state, selecting it causes all nested options to be selected.

  • Ensure all nested options are related to the parent option.
  • Use the unselected state for the parent option when all nested options are unselected.
  • Use the selected state for the parent option when all nested options are selected.
  • Include a chevron UI icon button to enable users to expand and collapse the nested options.

Note: The indeterminate state is not fully accessible for screen readers. To learn about alternative methods for nested checkbox groups, visit Accessibility.

Collapsed

The user selects the chevron UI icon button to reveal the nested options.

A checkbox group with a leading right pointing chevron. Options are hidden.
  • Use the right pointing chevron to indicate collapsed content.

Expanded

The user makes their selection from the available nested options.

A checkbox group with a leading down pointing chevron. Options are displayed.
  • Use the downward pointing chevron to indicate expanded content.
A checkbox group with a leading chevron with its own button states.

Do Ensure a clear distinction between checkbox actions and chevron actions to prevent accidental selections.

A chevron placed closely next to the checkbox.

Don't Place checkboxes too close to the chevron UI icon button to avoid accidental selections.

A checkbox group with the parent checkbox having an indeterminate state while the child options are selectable.

Do Use the indeterminate state for the parent option when some but not all nested options are selected.

A single checkbox with an indeterminate state.

Don't Use the indeterminate state for checkboxes that aren’t the parent of a nested group.

Default selections

In general, checkboxes should be unselected by default to give users full control over their choices. The main exception is when a choice is required and the selection indicates a default or system setting.

A checkbox group with the parent checkbox having an indeterminate state while the child options are selectable.

Do Select the safest, most secure, and private option if a default selection is necessary.

A single checkbox with an indeterminate state.

Don't Use the indeterminate state for checkboxes that aren’t the parent of a nested group.

Optional vs. required labels

Always ensure required fields are clearly labeled. While this may seem repetitive, it helps users scan for necessary information and reduces errors. There are two methods for labeling required fields based on your use case. Whichever method you select, use it consistently across your experiences.

Note: Previous VPDS guidance recommended only marking optional fields. Our guidance has been updated to reflect current Nielsen Norman Group recommendations. Learn more about optional vs. required labels in Forms.

“Required” in the label (preferred method)

Including “required” within the label ensures it’s easy to find, particularly when instructions at the top might not be visible while scrolling. This method bolsters accessibility for both sighted and non-sighted users.

A checkbox group with its label marked as required
  • Mark all fields that are required. This ensures you’re as explicit and transparent as possible.
  • Include “(required)” in field label with a space between the last word and the first parenthesis.

Asterisk in the label (alternative method)

Asterisks are commonly used to indicate required fields. The main advantage to using this method is that it doesn’t take up much space, helps users along a common edge, and can be used in addition to formatting hints in the label.

A checkbox with an asterisk in the label
  • Always include a legend or key at the top of the content area noting that the asterisk indicates a required field.
  • Place the asterisk at the beginning of the label with a space between the symbol and the first word.

When required is implied

Although it’s usually recommended to label required fields, there are cases where it’s implied that the field is required. This is common when there’s a one or two fields fundamental to completing of a task, like the username and password fields on a login screen. In these cases, marking the fields required isn’t necessary but can add additional clarity.

Labeling optional fields

It’s not generally necessary to mark which fields are optional. While doing so can support clarity, it also adds unnecessary visual noise. Whatever you choose, apply the choice consistently to avoid confusion.

Content

  • Always use sentence case except for proper nouns or acronyms.
  • Use plain language and avoid abbreviations or jargon.
  • Visit Content for additional guidance on crafting content within apps and experiences.

Descriptions

  • Use full sentences with proper punctuation.
  • Limit descriptions to 80 characters or 20 words including spaces.

Labels

  • Don’t include punctuation.
  • Ensure group labels accurately summarize the options available for selection.
  • Limit labels to three words or fewer unless referencing proper nouns, such as product names.
  • Use Parallel structure for labels across your experience, either starting with verbs such as “Select a notification preference” or nouns such as “Notification preferences”.
A checkbox labeled 'I agree to Visa's Terms of Services.'

Do Phrase labels so the statement is true when selected.

A checkbox labeled 'I agree to Visa's Terms of Services, Privacy policy, and Electronic Communication Policy.'

Don't Include multiple options in one label.

Platform considerations

Mobile

Checkboxes are available in mobile and web and should be implemented similarly on both platforms.

  • Use checkbox panels to provide a larger touch area when necessary.
  • Use default checkboxes to save space and prevent user overload, especially when there are many checkbox groups used together in a form.
A checkbox panel group and checkbox group displayed in a mobile layout.