DocsSupportPricing
Roadmap (has updates coming soon)XFigma3.7K
Sign inGet All-Access
  1. Components
  2. Checkbox
MarkdownPro 12 blocks

Shadcn Checkbox

Browse 22 production-ready shadcn checkbox components for form validation, multi-select lists, terms and conditions, and bulk actions. Shadcn Checkbox is compatible with Radix UI and Base UI interaction models and is fully aligned with Shadcn Create style options so your previews match your design tokens.

For AI Agents

Hand your agent this brief or the ReUI MCP, not a screenshot. Free to install.

When to use

  • Consent and opt-in fields, such as accepting terms or turning on a feature
  • Lists where any number of options can be ticked, like notification channels or permissions
  • Selectable cards and tiles for modules, people or a saved payment card

When not to use

  • A choice where exactly 1 option of a set may be picked: use the Radio Group component
  • An on or off setting that applies the moment it is flipped: use the Switch component
  • A complete record entry page with many field types and a submit handler: use the Form blocks

Agent notes

  • No example passes a name to Checkbox, so a native submit sends none of these boxes; give each one a name inside a real form
  • The base twin sets the mixed state with the indeterminate prop; the radix twin passes checked as the string indeterminate
  • A mixed state draws the same CheckIcon as a ticked box, as the indicator has no minus icon; add one in Checkbox to show a dash
Markdownhttps://web.dev.reui.io/components/checkbox.md
MCPget_component("checkbox")
Installnpx shadcn@latest add checkbox
Full index for agents:llms.txtReUI MCP setup

Shadcn Checkbox: Accessible Form Selection Controls

Shadcn Checkbox is a toggle control built on Radix UI primitives that stays compatible with Base UI components for checked state, focus, and keyboard behavior, while using Tailwind-friendly styles. It is fully compatible with Shadcn Create style options, so radius, fonts, and theme tokens from the create flow apply consistently to previews and exported UI.

It renders a labeled control that users check or uncheck, often paired with a label and help text to capture single or grouped selections in forms.

ReUI lists checkbox components inside realistic layouts so you can judge spacing, density, and integration with Shadcn Field groups next to other form controls, not only a minimal story. The sections below explain what the component is, why teams adopt it, which features matter, and how it pairs with validation and accessibility rules.

What is Shadcn Checkbox?

In UI terms, a checkbox is a toggle control that users click to set a binary state: checked or unchecked. Shadcn Checkbox follows the same accessibility expectations as Radix UI primitives and fits teams that also use Base UI-style unstyled building blocks, so you can mix components without fighting the stack.

Components here show single checkboxes, checkbox lists, bulk actions, and integration with form field labels and error states. They are meant to answer whether your product needs inline selections, a terms acceptance flow, or multi-select filters, with styling that respects Shadcn Create options end to end.

Why Use Shadcn Checkbox?

Checkboxes are the native control for multi-select scenarios on the web. Teams use them for terms acceptance, filter lists, bulk actions on tables, and opt-in preferences. When users must select one or more items without radio-button constraints, checkboxes keep the intent clear.

Form validation becomes easier when you pair checkboxes with a Shadcn Field group to show error states together. Use them alongside a Shadcn Button to submit selections or inside a Shadcn Data Grid for row selection. They also work well in Shadcn Filters components to let users refine large datasets.

Shadcn Checkbox Features

  • Accessibility-Compliant. Shadcn Checkbox adheres to WAI-ARIA guidelines and Radix UI keyboard accessibility conventions, focus management, and screen reader compatibility out of the box.
  • Controlled and Uncontrolled. Use defaultChecked for uncontrolled checkboxes or checked and onCheckedChange to control state from parent components, giving you flexibility in form architecture.
  • Form Integration. Pair with Shadcn Field and FieldLabel for proper layout, labeling, and error indication so validation feedback stays near the control.
  • Indeterminate State. Support partial selection for parent-child or bulk action components where some but not all items are selected, improving UX for complex forms.
  • Custom Styling. Fully customizable with Tailwind CSS and Shadcn Create tokens; adjust size, color, and shape to match your design system without modifying component logic.

Integrating with Other Components

Wrap checkboxes inside a Shadcn Field with FieldLabel, FieldDescription, and error states to compose accessible form groups. Use FieldGroup to stack multiple field-wrapped checkboxes together with consistent spacing.

Place Shadcn Button actions next to or below checkbox groups so users can submit selections, clear all, or apply filters. Combine with a Shadcn Data Grid to add row-level checkboxes for bulk operations like delete or export.

Use checkboxes inside Shadcn Collapsible sections or Shadcn Drawer modals to build advanced Shadcn Filters that narrow down large datasets. Add a Shadcn Badge to show active filter counts when checkboxes are selected.

Form Blocks in ReUI Pro

The free examples above pair with 12 production ready form blocks in ReUI Pro, complete sections built on the same primitives and ready to copy into your app.

  • Form (12 blocks)Form layouts for settings, profiles, and data entry with validation and grouped fields.

Browse all Application blocks

Frequently Asked Questions

When should I use a checkbox instead of a switch or radio button?

Use checkboxes when users can select zero or more items from a set. Use radio buttons when only one choice applies. Use a Shadcn Switch for binary on/off toggles that enable or disable a feature, not selection lists.

How do I handle checkbox groups in forms?

Wrap multiple Shadcn Checkbox components inside a Shadcn Field with FieldLabel and FieldDescription. Add the aria-invalid attribute to each checkbox and the data-invalid prop to the Field to show validation errors together.

What is an indeterminate checkbox state?

Indeterminate occurs when a parent checkbox controls child items and some (but not all) are checked. Set the indeterminate prop to true to show a visual dash instead of a check, signaling partial selection. Clear it when all or none are selected.

Can I use uncontrolled checkboxes in React Hook Form?

Yes. Use the form control to register the checkbox and let Hook Form manage state. The checkbox will work as an uncontrolled input if you do not override onCheckedChange; Hook Form binds to the underlying input value.

How is Shadcn Checkbox different from a native HTML checkbox?

Shadcn Checkbox is a styled, accessible wrapper around Radix UI primitives. It provides consistent theming with Tailwind and Shadcn Create while maintaining semantic HTML and full keyboard support. Use it for design consistency across your app.

Is the checkbox accessible for screen readers without extra ARIA attributes?

Yes. Radix UI handles roles and labeling automatically. Always wrap the checkbox in a label element or pair it with FieldLabel so screen readers announce the purpose. Avoid relying on placeholder text for labels.
Previous25 Shadcn Chart Components
Next27 Shadcn Code Block Components

Start building with ReUI Pro today.

Every Pro block, every style, and every future addition, with one license for unlimited projects.

Get All-Access

From $249, once. Lifetime updates.

Application

  • App Shell
  • Auth
  • Card
  • Dashboard
  • Dialog
  • Empty State
  • Event Calendar
  • Flow
  • Form
  • Gantt
  • Kanban Board
  • List
  • Navbar
  • Onboarding
  • Profile
  • Rich Text Editor
  • Schedule
  • Settings
  • Sheet
  • Stats2 meter cards moved here from Charts, 17 in all
  • Timeline
  • Whiteboard
  • Wizard

Data Grid

  • Base
  • AdvancedAdded 2 new Data Grid Advanced blocks, 5 in all
  • Columns
  • Drag & Drop
  • Editing
  • Expansion
  • Filtering
  • Grouping
  • Virtualization

Charts

  • Area ChartAdded a new Inbound Leads area chart block
  • Bar Chart
  • Composed Chart
  • Line Chart
  • Pie Chart
  • Radial Chart
  • Sankey ChartNew Sankey Chart category with 3 flow chart blocks
  • Slope ChartNew Slope Chart category with 2 rank-shift chart blocks
  • Sparkline
  • Status Tracker

AI & Agents

  • AI Chat
  • Agent Activity
  • AI UsageNew AI Usage category with 2 spend blocks

Solutions

  • Dev Ops
  • AI Ops
  • CRM
  • Agents
  • Analytics
  • Billing
  • Bookings
  • Files
  • Inventory
  • Users
  • Digital TwinNew Digital Twin category with 2 interactive 3D blocks

Templates

  • All templates

eCommerce

  • Category Card
  • Checkout
  • Comparison
  • Coupon
  • Filter Sidebar
  • Product Card
  • Product Detail
  • Product Grid
  • Receipt
  • Review
  • Shopping Cart
  • Wishlist
  • Shop Hero

Marketing

  • Blog
  • Compare
  • Contact
  • CTA
  • FAQ
  • Hero
  • How It Works
  • Pricing

Resources

  • Components
  • Blocks
  • Icons
  • MCP for Agents
  • Docs
  • Support
  • Pricing
  • Tailwind Plus Alternative
  • Roadmap(has updates coming soon)
  • AffiliateSoon

Legal

  • Privacy Policy
  • Terms & Conditions
  • License
  • Refunds
  • Cookies

© 2026 ReUI. All rights reserved.

3.7K

Basic checkbox with label

Disabled checkbox

Invalid checkbox

Indeterminate checkbox

Checkbox with label and description

Colored checkbox

Circle checkbox

Checkbox group

Card checkbox with group

Checkbox group in a frame

Card checkbox group with icons

Card checkbox group with icons

Custom positioned checkbox

Custom positioned checkbox

Avatar based card checkbox

Nested checkbox group

Payment method card checkbox

Checkbox with label and tooltip info

Checkbox group with badge

Checkbox with label and tooltip info

Inline horizontal checkbox group

Checkbox with feature badge