An official website of the United States government
Here’s how you know
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.
Radio buttons allow users to select exactly one choice from a group.
About the radio buttons component
Radio buttons are a common way to allow users to make a single selection from a list of options. Since only one radio button can be selected at a time (within the same group), each available choice must be its own item and label. In contrast, checkboxes may show a single label, with the checked/unchecked status of the item meaning opposite things. For example, a checkbox could have a single input/label and legend that says “I have read the terms and conditions.” Radio buttons would need two inputs/labels for the same legend, “No” and “Yes”.
Once a user selects one of the radio buttons in a group, the group can’t be easily reset to displaying no radio buttons selected. One possible solution would be to add a “none of the above” option to a radio button group, which would allow users to effectively unselect the other radio buttons in that group.
<h3class="site-preview-heading">Default</h3><fieldsetclass="usa-fieldset"><legendclass="usa-legend usa-legend">Select one historical figure</legend><divclass="usa-radio"><inputclass="usa-radio__input"id="historical-truth"type="radio"name="historical-figures"value="sojourner-truth"checked="checked"/><labelclass="usa-radio__label"for="historical-truth">Sojourner Truth</label></div><divclass="usa-radio"><inputclass="usa-radio__input"id="historical-douglass"type="radio"name="historical-figures"value="frederick-douglass"/><labelclass="usa-radio__label"for="historical-douglass">Frederick Douglass</label></div><divclass="usa-radio"><inputclass="usa-radio__input"id="historical-washington"type="radio"name="historical-figures"value="booker-t-washington"/><labelclass="usa-radio__label"for="historical-washington">Booker T. Washington</label></div><divclass="usa-radio"><inputclass="usa-radio__input"id="historical-carver"type="radio"name="historical-figures"value="george-washington-carver"disabled="disabled"/><labelclass="usa-radio__label"for="historical-carver">George Washington Carver</label></div></fieldset><h3class="site-preview-heading">Tile</h3><formclass="usa-form"><fieldsetclass="usa-fieldset"><legendclass="usa-legend">Select one historical figure</legend><divclass="usa-radio"><inputclass="usa-radio__input usa-radio__input--tile"id="historical-truth-2"type="radio"name="historical-figures-2"value="sojourner-truth"checked="checked"/><labelclass="usa-radio__label"for="historical-truth-2">Sojourner Truth</label></div><divclass="usa-radio"><inputclass="usa-radio__input usa-radio__input--tile"id="historical-douglass-2"type="radio"name="historical-figures-2"value="frederick-douglass"/><labelclass="usa-radio__label"for="historical-douglass-2">Frederick Douglass
<spanclass="usa-checkbox__label-description">This is optional text that can be used to describe the label in more
detail.</span></label></div><divclass="usa-radio"><inputclass="usa-radio__input usa-radio__input--tile"id="historical-washington-2"type="radio"name="historical-figures-2"value="booker-t-washington"/><labelclass="usa-radio__label"for="historical-washington-2">Booker T. Washington</label></div><divclass="usa-radio"><inputclass="usa-radio__input usa-radio__input--tile"id="historical-carver-2"type="radio"name="historical-figures-2"value="george-washington-carver"disabled="disabled"/><labelclass="usa-radio__label"for="historical-carver-2">George Washington Carver</label></div></fieldset></form>
Guidance
When to use the radio buttons component
To display a single selection. When users need to select only one option from a set of mutually exclusive choices.
When to consider something else
Multiple selections. If users need to select more than one option or if there’s only one item to select, use checkboxes instead.
Limited space. Consider a select component if you don’t have enough space to list out all available options.
Selecting none. If users should be able to select zero of the options or change their mind and unselect an option, consider using checkboxes. You can also choose to add a “none of the above” option to the radio button group instead.
Usability guidance
Use the label as a target. Users should be able to select either the text label or the radio button to select or deselect an option.
List items vertically. Vertically-listed options are easier to read than those that are listed horizontally. A horizontal layout can make it difficult to tell which label belongs to which radio button.
Use adequate spacing. Make sure selections are adequately spaced for touch screens. Consider using the tile variant for larger touch targets.
Set default values with caution. Setting a default value can bias a decision, seem pushy, or alienate users who don’t fit your assumptions. Only use a default selection if you have data to back it up.
Don’t mix default and tile variants. Pick one implementation and stick with it. When mixed, tiles can appear to indicate a bias or preference toward that option.
Use a logical order. Make sure the selection options are organized in a meaningful way, like alphabetical or most-frequent to least-frequent. This helps users easily find the option they’re looking for.
Use fieldset and legend. Group related radio buttons together with <fieldset> and describe the group with <legend>.
Use proper labels and attributes. Each radio button should have a <label>. Associate the two by matching the <label>’s for attribute to the <input>’s id attribute.
Using the radio buttons component
Radio buttons settings
Variable
Description
$theme-input-tile-background-color-selected
Tile background color when selected.
$theme-input-tile-border-radius
Tile border radius for rounded corners.
$theme-input-tile-border-width
Tile border thickness.
$theme-input-tile-border-color
Tile border color.
$theme-input-tile-border-color-selected
Tile border color when selected.
Radio buttons variants
Variant
Description
.usa-radio__input--tile
Input tiles provide a larger interaction area and neatly group the label with the form control for readability. They’re useful in application forms and questionnaires, but may not be recommended when they create clutter on the page.