Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Bootstrap 3 components built with React

Subscribe to updates I use react-bootstrap

Statistics on react-bootstrap

Number of watchers on Github 12486
Number of open issues 88
Average time to close an issue 1 day
Main language JavaScript
Average time to merge a PR 2 days
Open pull requests 57+
Closed pull requests 99+
Last commit over 1 year ago
Repo Created over 5 years ago
Repo Last Updated over 1 year ago
Size 6.09 MB
Homepage https://react-boo...
Organization / Authorreact-bootstrap
Latest Releasev0.13.0
Page Updated
Do you use react-bootstrap? Leave a review!
View open issues (88)
View react-bootstrap activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating react-bootstrap for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

React-Bootstrap Travis npm

Bootstrap 3 components built with React.

Codecov Discord Thinkful

Under active development - APIs will change. Check out the 1.0.0 roadmap and contributing guidelines to see where you can help out. Prior to the 1.0.0 release, deprecations or breaking changes will result in a minor version bump.


See the documentation with live editable examples.

Related modules

Local setup

Yarn is the our package manager of choice here. Check out setup instructions here if you don't have it installed already. After that you can run yarn run bootstrap to install all the needed dependencies.

From there you can:

  • Run the tests once with yarn test (Or run them in watch mode with yarn run tdd).
  • Start a local copy of the docs site with yarn start
  • Or build a local copy of the library with yarn run build


Yes please! See the contributing guidelines for details.

react-bootstrap open issues Ask a question     (View All Issues)
  • almost 3 years onEntered triggering before animation end
  • almost 3 years NavDropdown and onMouseLeave broken between 0.29.5 and 0.30.2
  • about 3 years Wrap the propTypes with NODE_ENV !== "production"?
  • about 3 years Static modal?
  • over 3 years Swapping a Carousel to iterate a shorter collection
  • over 3 years Remove onClose on <Dropdown>
  • over 3 years FormControl doesn't correctly support input-sm input-lg
  • over 3 years Popover id causes broken ARIA reference
  • over 3 years Documentation for custom overlays should highlight how important position relative is
  • over 3 years Modal dialog closes when we drag inside modal and release mouse button on dialog
  • over 3 years Revamp <Pagination> API
  • over 3 years Tooltip does not render upon window refocusing by clicking the OverlayTrigger
  • over 3 years DropdownButton doen't supports block property.
  • over 3 years Overlay not positioning correctly
  • over 3 years Add support for checkbox/radio buttons
  • over 3 years OverlayTrigger with trigger="focus" doesn't open Popover on Safari
  • almost 4 years possible to override Dropdown toggle onClick behavior
  • almost 4 years Brainstorm possible API Simplifications with parent context
  • almost 4 years Regression: overlaytrigger tooltip does not disappear when used with dropdown button
  • about 4 years [a11y] add aria attributes to accordion and allow keyboard navigation
  • about 4 years Bootstrap 4 Roadmap
  • about 4 years Modal: Adding scollbar padding to fixed navbar / other elements
  • about 4 years DropdownButton invariant violation in IE when component removed in onClick
  • about 4 years Change Panel and ListGroupItem API
  • about 4 years Bug with docs-props generation
  • about 4 years Use uncontrollable where appropriate
  • over 4 years Screenshot regression tests.
  • over 4 years Add "getting started" kit
  • over 4 years auto placement
  • over 4 years Put a link to the github source for each component in the docs
react-bootstrap open pull requests (View All Pulls)
  • [added] RadioButton and RadioGroup
  • [added] contentClassName in Modal Component
  • [added] Allow overriding Dropdown CSS classes
  • Fix ComponentsPage ScrollSpy - last section active
  • Fix style prop on nested <ProgressBar>
  • Fix for a responsive and collapsive navbar on item select event
  • [added] DropdownButton now supports block attribute
  • [changed] Make Panel expansion cancelable
  • Update to Babel 6 (needs further work!)
  • Rework Panel API
  • feat(ListGroupItem): Adding a new API
  • call dropdown onClose if the dropdown is closed by clicking the toggle
  • fix #1850 improve form documentation
  • Render children in FormControl.Feedback component
  • feat: add dialog style property
  • Rename <PageItem> to <Pager.Item>
  • Fix default bsStyle on Panel
  • Remove unnecessary ref usage and document required usage
  • Carousel now has unfocusable option
  • Feature/tabs with dropdown
  • Changed default href in SafeAnchor to '#' to make IE happy
  • Expose event prop from RootCloseWrapper in Dropdown
  • Active page/item disappears for few items
  • Fixes #2209 by adding collapsed to className
  • Fixes #2256 by adding SR controls by default
  • Add toggle button components
  • [WIP] Test/panel
  • Feature: Add toggleOnSelect & onSelect to Navbar API with tests & docs
  • Update Modal components and tests
  • feat(tabs): add componentClass support
  • Document caution required for MenuItem's onSelect
  • Give `` precedence over children active for `NavDropdown`
  • Add eventType to onToggle and source for handleClose
  • Correct tabindex on alert modal close button
  • Add prop that prevents dropdown from closing on click
  • Some minor improvements
  • remove pagination logic
  • Fix #2532
  • upgrade to Webpack 2
  • Update Checkbox.js to apply title to label
  • remove unneeded chain function usages
  • Updated Modal example to use ES6 class since latest react since 15 do…
  • add note re: allowed # of children for Collapse + Fade
  • Add link to each component's PropTable to GitHub source
  • Deprecate 'block' prop on ButtonGroup
  • WIP: V4 support
  • Allow optional 'target' prop on OverlayTrigger
  • Changed ProgressBar check to work with proxied components
  • V4 alerts
  • Add v4 support for tables
  • V4 progress bars
  • Add v4 support for Jumbotron
  • Navs
  • Add v4 support for images and figures
  • Issue #3051 - Update Media Object
  • Breadcrumbs
  • Added a prop to enable adding classes to the modal-content dom node
react-bootstrap questions on Stackoverflow (View All Questions)
  • How to get select element's value in react-bootstrap?
  • react-bootstrap-table double header
  • How to position and resize React Bootstrap Tooltip before displaying it on the DOM?
  • Trigger modal shown for React Bootstrap
  • How to use React-Bootstrap in react.rb
  • react-bootstrap modal is always mounted
  • React-Bootstrap Dropdown with Input won't stay open
  • How to behaviour test a Component which uses React Bootstrap with Jest
  • Can I customize Carousel-indicators in react-bootstrap
  • react-bootstrap, lodash, and factor-bundle not playing well together
  • How to open/close react-bootstrap modal programmatically?
  • react-bootstrap simple installation on meteor
  • React-Bootstrap trouble w/ ButtonGroup OR where to put modals?
  • Alignment with React-Bootstrap
  • React-Bootstrap Popover not ADA compliant
  • react-bootstrap not importing properly
  • How can I make a Glyphicon with inverse coloring with React-Bootstrap?
  • Stuck with getting react bootstrap modal to work
  • react bootstrap modal - how do I get it to show?
  • getting valueState of react-bootstrap-switch
  • React bootstrap Datetimepicker Minified exception occurred
  • Why is react-bootstrap not working with reactjs 0.14.3?
  • React Bootstrap Modal closes on button click
  • Load remote url in react-bootstrap modal component
  • Issues using Jest with react-bootstrap
  • react bootstrap table error Uncaught TypeError: this.refs.innerDiv.setAttribute is not a function
  • Is TabbedArea deprecated in React-Bootstrap?
  • Enter key event handler on react-bootstrap Input component
  • React-Bootstrap doesn't work to show alert-info message
  • Sails.js: can't find variable require (react-bootstrap-datetimepicker)
react-bootstrap list of languages used
react-bootstrap latest release notes
v0.13.0 v0.13.0

React 0.12 support! Thanks everyone.

Breaking changes

  • Requires React >= 0.12.0, massive thanks @trentgrover-wf, also @jquense
  • From React 0.12 it's no longer possible to access a component instance's key from within that component. Previously we were using the key prop as a unique identifier for child components. We have had to change this usage to a new prop, eventKey in: ListGroupItem, MenuItem, Nav, Navbar, NavItem, PageItem and Panel
  • NavBar: navOpen ==> navExpanded, thanks @alasdaircs


  • Input: Added disabled prop, thanks @kroepke
  • Input: Removed border for type="file" thanks @trentgrover-wf
  • Input: Add buttonBefore and buttonAfter props, thanks @mattly
  • Modal: Can be put in a container, thanks @mtscout6 and @bobpace
  • Navbar: Added right prop to display child DropdownButtons correctly, thanks @rtsao


  • CollapsableMixin: Fixed not removing event handlers correctly, thanks @justjake
  • FadeMixin: Fixed not fading in when element already had fade class, thanks @jquense
v0.11.1 v0.11.1
  • Change internal module system from ES6 modules -> CJS and general code clean up thanks to @kellec #158
  • Added pullRight prop to Badge and Nav thanks to @KnisterPeter and @JamesTrigg #162 #148
  • OverlayMixin container prop change for better compatibility with React 0.11 thanks to @jsdf #161
  • Better propType checking #163 #167
  • Fix for toggle button in collapsed Navbar thanks to @brainary #154
v0.11.0 v0.11.0
  • New Input component thanks to @liamcmitchell
  • Full IE8 support thanks to @stereosteve
  • Renamed Collapsable component props to be more Bootstrap-y
    • isOpen -> expanded
    • defaultIsOpen -> defaultExpanded
    • isCollapsable -> collapsable
  • New Pager and PageItem components thanks to @brainary
  • Added transferPropsTo to many component internals to allow passing of props (such as className and onClick handlers) to internal DOM elements for increased flexibility, thanks to @time4tea, @scottwoodall, @jonasoberschweiber

In addition this version includes many bug fixes and small propType changes for added API flexibility, thanks to all contributors.

Other projects in JavaScript