screenshot of Bslib


Tools for theming Shiny and R Markdown via Bootstrap 3, 4, or 5.


The bslib R package provides a modern UI toolkit for Shiny and RMarkdown based on Bootstrap. It allows for the creation of customizable Shiny dashboards and theming of Shiny apps and R Markdown documents. The package is designed to work with modern versions of Bootstrap and Bootswatch.


  • Creation of delightful and customizable Shiny dashboards
  • UI components that can also be used in other contexts, such as RMarkdown
  • Interactive real-time theming of Shiny apps
  • Use of modern versions of Bootstrap and Bootswatch


To install the bslib package, you can use the following code:



The bslib R package provides a toolkit for creating modern and customizable UIs for Shiny and RMarkdown using Bootstrap. It allows for the creation of delightful and customizable Shiny dashboards and provides UI components that can be used in other contexts. The package also offers interactive theming capabilities for Shiny apps. The installation process is straightforward and the package has resources available for getting started and seeking help. Overall, bslib is a useful tool for enhancing the design and aesthetics of Shiny and RMarkdown applications.


Bootstrap is the most popular CSS Framework for developing responsive and mobile-first websites.


SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.


ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.


TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.