Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
R Add themeSelector Sep 23, 2016
inst/shinythemes Fix script path Sep 19, 2016
man Add themeSelector man page Sep 23, 2016
.Rbuildignore Ignore cran-comments.md Jan 19, 2015
.gitignore Ignore sublime-* files Jan 12, 2015
DESCRIPTION Add URL Oct 12, 2016
LICENSE Update LICENSE file Sep 19, 2016
NAMESPACE Add themeSelector Sep 23, 2016
NEWS.md Bump version to 1.1.1 Oct 11, 2016
README.md Update README Oct 11, 2016
shinythemes.Rproj Initial commit Dec 5, 2014



See the documentation at http://rstudio.github.io/shinythemes/.

The shinythemes package provides some Bootstrap themes for use with Shiny. The themes are from from http://bootswatch.com/:

Using themes

Using the themes is simple. Use the theme argument to bootstrapPage, fluidPage, navbarPage, or fixedPage. The value should be shinytheme("<theme>"); for example, shinytheme("cerulean").

For example, a single-file app might look like this:

  ui = navbarPage("United",
    theme = shinythemes::shinytheme("united"),  # <--- Specify theme here
    tabPanel("Plot", "Plot tab contents..."),
      tabPanel("Summary", "Summary tab contents..."),
      tabPanel("Table", "Table tab contents...")
  server = function(input, output) { }

Live theme selector

If you want to quickly test out different themes with an application, you can simply add themeSelector() somewhere to the UI. This will add a select box which lets you choose the theme. It will change the theme without having to reload or restart your app. You can see the theme selector in action here.

The theme selector is only meant to be used while developing an application. Once you've decided on which theme to use, pass it to the theme argument as described earlier.

Here's an example app with the theme selector:

  ui = fluidPage(
    shinythemes::themeSelector(),  # <--- Add this somewhere in the UI
      textInput("txt", "Text input:", "text here"),
      sliderInput("slider", "Slider input:", 1, 100, 30),
      actionButton("action", "Button"),
      actionButton("action2", "Button2", class = "btn-primary")
        tabPanel("Tab 1"),
        tabPanel("Tab 2")
  server = function(input, output) {}

Once you've found a theme that you like, use it in the page as shown above, with theme = shinythemes::shinytheme(<theme here>).