Figma radio group components
Radio group design in Figma: single-select done right
Radio buttons carry a promise that checkboxes don't: pick one, and only one. That single constraint is why they show up at the most valuable moments in a product, like choosing a plan, a payment method, or a shipping option. Get the pattern wrong at those moments and it costs real money, which is a strange amount of pressure to put on a small circle.
The 2 components and 168 variants above cover those moments with both plain radio rows and full selectable cards, so the high-stakes screens in your product start from a solid pattern rather than a blank frame.
Radio buttons vs checkboxes
Use radio buttons when exactly one option from the set is valid, and checkboxes when users can select several. Nielsen Norman Group's guidelines cover the fine print.
Two more rules worth stealing: give a radio group a sensible default selection rather than leaving it empty, and once the list grows past five to seven options, switch to a select input so the choice doesn't swallow the page.
From plain rows to radio cards
The set includes six content types: a plain radio button row, simple icon rows, icon cards, avatar rows, payment method rows, and a checkbox-styled variant, each in two sizes with dedicated desktop and mobile versions. The mobile variants are taller with more generous touch targets, which saves you from the classic mistake of shipping desktop-density radio rows to a phone screen.
The card variants are the workhorses. A pricing tier picker or a saved-payment-method list reads far better as a row of selectable cards than as bare dots with labels, and here that pattern is a drop-in component instead of a custom build.
The card variants also solve a layout problem plain radios can't: they give each option room for a description, a price, or an icon without the group turning into a wall of text. When options need explaining, explain them inside the card rather than in a paragraph above the group that nobody connects to the right option.
Accessibility: one tab stop, arrow keys inside
A radio group behaves differently from most controls under a keyboard: the whole group is a single Tab stop, and arrow keys move the selection within it. That's the W3C radio group pattern, and it's why the focused states in this set exist for every row. Designing the focus ring now means nobody has to retrofit it when an accessibility audit lands later.
States and prototyping single-select
Every row and card covers default, hover, and focused states in both selected and unselected versions, with a visible focus ring for keyboard users. Selection state and interaction state are separate dimensions, so a selected card still has proper hover and focus treatments rather than freezing once it's chosen.
Prototyping the actual single-select behavior, where choosing one option deselects the rest, is the classic Figma puzzle. The clean approach is to make the whole group a component and swap between its variants with "change to" interactions, one variant per selected option, so state lives at the group level. Figma's interactive components guide covers the mechanics, and variables can handle the exotic cases.
In code, single-select is a solved problem. Untitled UI React radio groups are open source, built with Tailwind CSS and React Aria, with arrow-key navigation and group semantics handled for you, matching these Figma components one for one.
Frequently asked questions
How do I make only one radio button selectable in a Figma prototype?
Model the state at the group level rather than on each button. Make the whole radio group a component with one variant per selected option, then wire "change to" interactions from each row to the variant where it's the selected one.
Choosing an option then automatically deselects the rest, because the group can only show one variant at a time.
Should a radio group have a default selection?
Usually, yes. Nielsen Norman Group recommends preselecting the safest or most likely option, since an empty group forces an extra decision and makes accidental submission states ambiguous.
The exception is when no option is safe to assume, like consent choices, where an unselected default is deliberate.
When should I use a select instead of radio buttons?
Radio buttons earn their space by showing every option at once, which works up to roughly five to seven options. Beyond that, the group starts dominating the layout, and a select input handles the long list better.
If users can pick more than one option, neither is right: that's checkbox territory.
Are these radio group components free?
Yes. The radio group components are included in the 100% free version of Untitled UI, usable in personal and commercial projects.
The full Figma kit extends the same system to 10,000+ components, page examples, and dashboards.
Is there a React version of these radio groups?
Yes. Untitled UI React radio groups are open source, built with Tailwind CSS and React Aria, and mirror these Figma components.
They include single-select behavior, arrow-key navigation, and accessible group labelling.
Foundation Figma components and styles
Figma base components
Shared Figma assets
Application UI/Dashboard examples
Application UI/Dashboard Figma components
Marketing website examples
Join our affiliate program




































































































































