shinyWidgets v0.5.1


Monthly downloads



Custom Inputs Widgets for Shiny

Collection of custom input controls and user interface components for 'Shiny' applications. Give your applications a unique and colorful style !



Extend widgets available in shiny

Travis-CI Build Status AppVeyor build status version cranlogs cran checks Coverage Status


This package provide some custom widgets to pimp your shiny apps !

You can replace classical checkboxes with switch button, add colors to radio buttons and checkbox group, use buttons as radio or checkboxes. Each widget has an update method to change the value of an input from the server.

Installation :

# From CRAN

# From Github
# install.packages("devtools")

Demo :


A live version is available here :

Widgets available :

Bootstrap switch

Turn checkboxes into toggle switches :

switchInput(inputId = "id", value = TRUE)

Material switch

Turn checkboxes into toggle switches (again) :

materialSwitch(inputId = "id", label = "Primary switch", status = "danger")

Pretty Checkbox

Checkbox and radio buttons with the beautiful CSS library pretty-checkbox : prettycheckbox

  inputId = "pretty_1", label = "Check me!", icon = icon("check")
  inputId = "pretty_2", label = "Check me!", icon = icon("thumbs-up"), 
  status = "default", shape = "curve", animation = "pulse"
  inputId = "pretty_3", label = "Check me!", icon = icon("users"), 
  animation = "pulse", plain = TRUE, outline = TRUE
  inputId = "pretty_4", label = "Check me!",
  status = "success", outline = TRUE
  inputId = "pretty_5", label = "Check me!",
  shape = "round", outline = TRUE, status = "info"


Sweet Alert

Displays a message to the user :


See examples in ?sendSweetAlert.

Request confirmation from the user :


See examples in ?confirmSweetAlert.

Slider Text

Slider with strings, to pass whatever you want :

  inputId = "mySliderText", 
  label = "Your choice:", 
  grid = TRUE, 
  force_edges = TRUE,
  choices = c("Strongly disagree",
              "Disagree", "Neither agree nor disagree", 
              "Agree", "Strongly agree")

Knob Input

A jQuery based knob, similar to sliderInput or sliderTextInput:

  inputId = "myKnob",
  label = "jQuery knob example:",
  value = 0,
  min = -100,
  displayPrevious = TRUE, 
  lineCap = "round",
  fgColor = "#428BCA",
  inputColor = "#428BCA"

Select picker

Dropdown menu with a lot of options :

  inputId = "myPicker", 
  label = "Select/deselect all + format selected", 
  choices = LETTERS, 
  options = list(
    `actions-box` = TRUE, 
    size = 10,
    `selected-text-format` = "count > 3"
  multiple = TRUE

Checkbox and radio buttons

Turn buttons into checkbox or radio :

  inputId = "somevalue", label = "Make a choice :", 
  choices = c("Choice A", "Choice B", " Choice C", "Choice D"), 
  justified = TRUE, status = "primary",
  checkIcon = list(yes = icon("ok", lib = "glyphicon"), no = icon("remove", lib = "glyphicon"))

A text input only triggered by hitting 'Enter' or clicking search button :

  inputId = "id", 
  label = "Enter your search :", 
  placeholder = "This is a placeholder", 
  btnSearch = icon("search"), 
  btnReset = icon("remove"), 
  width = "100%"

Hide input in a button :
dropdown_off dropdown_on

  tags$h3("List of Input"),
  selectInput(inputId = 'xcol', label = 'X Variable', choices = names(iris)),
  selectInput(inputId = 'ycol', label = 'Y Variable', choices = names(iris), selected = names(iris)[[2]]),
  sliderInput(inputId = 'clusters', label = 'Cluster count', value = 3, min = 1, max = 9),
  circle = TRUE, status = "danger", icon = icon("gear"), width = "300px",
  tooltip = tooltipOptions(title = "Click to see inputs !")

And others !

Functions in shinyWidgets

Name Description
demoNumericRange An example showing how numericRangeInput works
confirmSweetAlert Launch a confirmation dialog
colorSelectorInput Color Selector Input
checkboxGroupButtons Buttons Group checkbox Input Control
dropMenuOptions Drop menu options
dropdown Dropdown
chooseSliderSkin Theme selector for sliderInput
prettyRadioButtons Pretty radio Buttons Input Control
awesomeRadio Awesome Radio Buttons Input Control
demoAirDatepicker Some examples on how to use airDatepickerInput
demoNoUiSlider Some examples on how to use noUiSliderInput
downloadBttn Create a download actionBttn
prettySwitch Pretty Switch Input
searchInput Search Input
pickerInput Select picker Input Control
drop-menu-interaction Interact with Drop Menu
dropMenu Drop Menu
circleButton Circle Action button
pickerOptions Options for `pickerInput`
knobInput Knob Input
prettyToggle Pretty Toggle Input
numericInputIcon Create a numeric input control with icon(s)
materialSwitch Material Design Switch Input Control
selectizeGroup-module Selectize Group
progress-bar Progress Bars
numericRangeInput Numeric Range Input
prettyCheckbox Pretty Checkbox Input
multiInput Create a multiselect input control
dropdownButton Dropdown Button
setBackgroundImage Custom background image for your shinyapp
closeSweetAlert Close Sweet Alert
noUiSliderInput Numeric range slider
inputSweetAlert Launch an input text dialog
prettyCheckboxGroup Pretty Checkbox Group Input Control
tooltipOptions Tooltip options
updateAirDateInput Change the value of airDatepickerInput on the client
toggleDropdownButton Toggle a dropdown menu
panel Create a panel
progressSweetAlert Progress bar in a sweet alert
sendSweetAlert Display a Sweet Alert to the user
radioGroupButtons Buttons Group Radio Input Control
pickerGroup-module Picker Group
shinyWidgetsGallery Launch the shinyWidget Gallery
updateAwesomeCheckbox Change the value of an awesome checkbox input on the client
setBackgroundColor Custom background color for your shinyapp
useTablerDash Use 'tablerDash' in 'shiny'
useSweetAlert Load Sweet Alert dependencies
updateAwesomeCheckboxGroup Change the value of a awesomeCheckboxGroup input on the client
textInputIcon Create a text input control with icon(s)
textInputAddon Text with Add-on Input Control
updateSearchInput Change the value of a search input on the client
updateRadioGroupButtons Change the value of a radio group buttons input on the client
setSliderColor Color editor for sliderInput
updateSliderTextInput Change the value of a slider text input on the client
updateNumericRangeInput Change the value of a numeric range input
updateNoUiSliderInput Change the value of a no ui slider input on the client
shinyWidgets shinyWidgets: Custom inputs widgets for Shiny.
sliderTextInput Slider Text Input Widget
updateAwesomeRadio Change the value of a radio input on the client
updatePrettySwitch Change the value of a pretty switch on the client
updatePrettyToggle Change the value of a pretty toggle on the client
vertical-tab Vertical tab panel
spectrumInput Palette Color Picker with Spectrum Library
switchInput Bootstrap Switch Input Control
updateCheckboxGroupButtons Change the value of a checkboxes group buttons input on the client
setShadow Custom shadows
wNumbFormat Format numbers in noUiSliderInput
updateSpectrumInput Change the value of a spectrum input on the client
useArgonDash Use 'argonDash' in 'shiny'
updateKnobInput Change the value of a knob input on the client
useBs4Dash Use 'bs4Dash' in 'shiny'
updatePrettyRadioButtons Change the value pretty radio buttons on the client
updateVerticalTabsetPanel Update selected vertical tab
updatePrettyCheckboxGroup Change the value of a pretty checkbox on the client
updateSwitchInput Change the value of a switch input on the client
updateMaterialSwitch Change the value of a materialSwitch input on the client
updateMultiInput Change the value of a multi input on the client
updatePickerInput Change the value of a select picker input on the client
updatePrettyCheckbox Change the value of a pretty checkbox on the client
useShinydashboard Use 'shinydashboard' in 'shiny'
useShinydashboardPlus Use 'shinydashboardPlus' in 'shiny'
actionGroupButtons Actions Buttons Group Inputs
addSpinner Display a spinner above an output when this one recalculate
animateOptions Animate options
appendVerticalTab Mutate Vertical Tabset Panel
airDatepicker Air Date Picker Input
awesomeCheckbox Awesome Checkbox Input Control
actionBttn Awesome action button
awesomeCheckboxGroup Awesome Checkbox Group Input Control
animations Animation names
No Results!

Last month downloads


Include our badge in your README