--- meta: title: Radio description: Radios allow the user to select a single option from a group. layout: component --- Radios are designed to be used with [radio groups](/components/radio-group). ```html:preview Option 1 Option 2 Option 3 ``` ```jsx:react import SlRadio from '@shoelace-style/shoelace/dist/react/radio'; import SlRadioGroup from '@shoelace-style/shoelace/dist/react/radio-group'; const App = () => ( Option 1 Option 2 Option 3 ); ``` :::tip This component works with standard `
` elements. Please refer to the section on [form controls](/getting-started/form-controls) to learn more about form submission and client-side validation. ::: ## Examples ### Initial Value To set the initial value and checked state, use the `value` attribute on the containing radio group. ```html:preview Option 1 Option 2 Option 3 ``` ```jsx:react import SlRadio from '@shoelace-style/shoelace/dist/react/radio'; import SlRadioGroup from '@shoelace-style/shoelace/dist/react/radio-group'; const App = () => ( Option 1 Option 2 Option 3 ); ``` ### Disabled Use the `disabled` attribute to disable a radio. ```html:preview Option 1 Option 2 Option 3 ``` ```jsx:react import SlRadio from '@shoelace-style/shoelace/dist/react/radio'; import SlRadioGroup from '@shoelace-style/shoelace/dist/react/radio-group'; const App = () => ( Option 1 Option 2 Option 3 ); ``` ## Sizes Add the `size` attribute to the [Radio Group](/components/radio-group) to change the radios' size. ```html preview Small 1 Small 2 Small 3
Medium 1 Medium 2 Medium 3
Large 1 Large 2 Large 3 ``` ```jsx react import SlRadio from '@shoelace-style/shoelace/dist/react/radio'; const App = () => ( <> Small 1 Small 2 Small 3
Medium 1 Medium 2 Medium 3
Large 1 Large 2 Large 3 ); ```