
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
react-toggle
Advanced tools
An elegant, accessible toggle component for React. Also a glorified checkbox.
An elegant, accessible toggle component for React. Also a glorified checkbox.
See usage and examples.
The component takes the following props.
| Prop | Type | Description |
|---|---|---|
checked | boolean | If true, the toggle is checked. If false, the toggle is unchecked. Use this if you want to treat the toggle as a controlled component |
defaultChecked | boolean | If true on initial render, the toggle is checked. If false on initial render, the toggle is unchecked. Use this if you want to treat the toggle as an uncontrolled component |
onChange | function | Callback function to invoke when the user clicks on the toggle. The function signature should be the following: function(e) { }. To get the current checked status from the event, use e.target.checked. |
onFocus | function | Callback function to invoke when field has focus. The function signature should be the following: function(e) { } |
onBlur | function | Callback function to invoke when field loses focus. The function signature should be the following: function(e) { } |
name | string | The value of the name attribute of the wrapped <input> element |
value | string | The value of the value attribute of the wrapped <input> element |
id | string | The value of the id attribute of the wrapped <input> element |
icons | object | If false, no icons are displayed. You may also pass custom icon components in icons={{checked: <CheckedIcon />, unchecked: <UncheckedIcon />}} |
aria-labelledby | string | The value of the aria-labelledby attribute of the wrapped <input> element |
aria-label | string | The value of the aria-label attribute of the wrapped <input> element |
disabled | boolean | If true, the toggle is disabled. If false, the toggle is enabled |
npm install react-toggle
If you want the default styling, include the component's CSS with
import "react-toggle/style.css" // for ES6 modules
// or
require("react-toggle/style.css") // for CommonJS
npm install
npm run dev
npm run build
MIT
FAQs
An elegant, accessible toggle component for React. Also a glorified checkbox.
The npm package react-toggle receives a total of 189,580 weekly downloads. As such, react-toggle popularity was classified as popular.
We found that react-toggle demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.