React-Select

React-Select is a powerful and flexible dropdown select component library for React. It provides extensive features including Emotion-based extensible styling, component injection API, multi-select, search, async option loading, and more, fully rewritten in TypeScript for type safety. Backed by Atlassian and Thinkmill with over 28,000 GitHub stars, it's a proven open-source project.

select
selectdropdownformmultiselecttypescript

๐ŸŽฎ Playground

Loading playground...
Use cases
  • โ€ขImplementing dropdowns with single/multi-select and search in complex forms
  • โ€ขAsync select boxes that dynamically load options from APIs
  • โ€ขTag input systems where users can create new options
  • โ€ขAdvanced select UIs requiring grouped options, custom rendering, and animations
  • โ€ขData selection interfaces in CMS or admin panels like KeystoneJS
Good for
  • โœ“Flexible styling system based on Emotion for complete UI customization
  • โœ“Rich feature set including multi-select, search, async loading, and creatable options
  • โœ“Fully rewritten in TypeScript providing strong type support and developer experience
  • โœ“Component injection API for complete control over UI behavior
  • โœ“Controllable props pattern offering flexible state management
  • โœ“Comprehensive documentation with live demos and large community support
Not good for
  • โœ—Relatively large bundle size due to rich features and Emotion dependency
  • โœ—Deep understanding of component architecture required for advanced customization
  • โœ—May be over-engineered for simple select box requirements
Installation
$ npm install react-select
Example
import Select from "react-select"

const options = [
  { value: "react", label: "React" },
  { value: "vue", label: "Vue" },
  { value: "angular", label: "Angular" }
]

export default function Demo() {
  return (
    <Select options={options} placeholder="Select..." />
  )
}
Comparison

"More features than Downshift, better React integration than Select2."

Trust Metrics

28.1K

GitHub Stars

7.1M

Weekly Downloads

Last Commit:Jul 11, 2025
Used by
StripeAtlassianSpotify