shiny v0.13.2


Monthly downloads



by Winston Chang

Web Application Framework for R

Makes it incredibly easy to build interactive web applications with R. Automatic "reactive" binding between inputs and outputs and extensive pre-built widgets make it possible to build beautiful, responsive, and powerful applications with minimal effort.



Build Status

Shiny is a new package from RStudio that makes it incredibly easy to build interactive web applications with R.

For an introduction and examples, visit the Shiny Dev Center.


  • Build useful web applications with only a few lines of code—no JavaScript required.
  • Shiny applications are automatically "live" in the same way that spreadsheets are live. Outputs change instantly as users modify inputs, without requiring a reload of the browser.
  • Shiny user interfaces can be built entirely using R, or can be written directly in HTML, CSS, and JavaScript for more flexibility.
  • Works in any R environment (Console R, Rgui for Windows or Mac, ESS, StatET, RStudio, etc.).
  • Attractive default UI theme based on Bootstrap.
  • A highly customizable slider widget with built-in support for animation.
  • Pre-built output widgets for displaying plots, tables, and printed output of R objects.
  • Fast bidirectional communication between the web browser and R using the httpuv package.
  • Uses a reactive programming model that eliminates messy event handling code, so you can focus on the code that really matters.
  • Develop and redistribute your own Shiny widgets that other developers can easily drop into their own applications (coming soon!).


To install the stable version from CRAN, simply run the following from an R console:


To install the latest development builds directly from GitHub, run this instead:

if (!require("devtools"))

Getting Started

To learn more we highly recommend you check out the Shiny Tutorial. The tutorial explains the framework in-depth, walks you through building a simple application, and includes extensive annotated examples.

We hope you enjoy using Shiny. If you have general questions about using Shiny, please use the Shiny mailing list. For bug reports, please use the issue tracker.

Bootstrap 3 migration

Shiny versions and below used the Bootstrap 2 web framework. After, Shiny switched to Bootstrap 3. For most users, the upgrade should be seamless. However, if you have have customized your HTML-generating code to use features specific to Bootstrap 2, you may need to update your code to work with Bootstrap 3.

If you do not wish to update your code at this time, you can use the shinybootstrap2 package for backward compatibility.

If you prefer to install an older version of Shiny, you can do it using the devtools package:

devtools::install_version("shiny", version = "")

Development notes

The Javascript code in Shiny is minified using tools that run on Node.js. See the tools/ directory for more information.


The shiny package is licensed under the GPLv3. See these files in the inst directory for additional details:

  • COPYING - shiny package license (GPLv3)
  • NOTICE - Copyright notices for additional included software

Functions in shiny

Name Description
passwordInput Create a password input control
invalidateLater Scheduled Invalidation
htmlOutput Create an HTML output element
HTML Mark Characters as HTML
installExprFunction Install an expression as a function
shiny-package Web Application Framework for R
reactiveValues Create an object for storing reactive values
brushedPoints Find rows of data that are selected by a brush
brushOpts Create an object representing brushing options
shinyDeprecated Print message for deprecated functions in Shiny
observe Create a reactive observer
plotOutput Create an plot or image output element
renderPlot Plot Output
session Session object
fillRow Flex Box-based row/column layouts
fixedPage Create a page with a fixed layout
markRenderFunction Mark a function as a render function
selectInput Create a select list input control
titlePanel Create a panel containing an application title.
icon Create an icon
htmlTemplate Process an HTML template
shiny-options Global options for Shiny
registerInputHandler Register an Input Handler
navlistPanel Create a navigation list panel
actionButton Action button/link
parseQueryString Parse a GET query string from a URL
fillPage Create a page that fills the window
sliderInput Slider Input Widget
dateInput Create date input
Progress Reporting progress (object-oriented API)
absolutePanel Panel with absolute positioning
bootstrapPage Create a Bootstrap page
renderPrint Printable Output
addResourcePath Resource Publishing
reactivePlot Plot output (deprecated)
splitLayout Split layout
nearPoints Find rows of data that are near a click/hover/double-click
column Create a column within a UI definition
updateCheckboxInput Change the value of a checkbox input on the client
reactiveText Text output (deprecated)
createWebDependency Create a web dependency
headerPanel Create a header panel
dateRangeInput Create date range input
reactiveUI UI output (deprecated)
renderText Text Output
observeEvent Event handler
renderDataTable Table output with the JavaScript library DataTables
shinyServer Define Server Functionality
updateCheckboxGroupInput Change the value of a checkbox group input on the client
singleton Include content only once
flowLayout Flow layout
NS Namespaced IDs for inputs/outputs
req Check for required values
radioButtons Create radio buttons
is.reactivevalues Checks whether an object is a reactivevalues object
fileInput File Upload Control
maskReactiveContext Evaluate an expression without a reactive context
downloadHandler File Downloads
updateRadioButtons Change the value of a radio input on the client
updateDateRangeInput Change the start and end values of a date range input on the client
numericInput Create a numeric input control
showReactLog Reactive Log Visualizer
exprToFunction Convert an expression to a function
reactivePrint Print output (deprecated)
reactiveTimer Timer
include Include Content From a File
repeatable Make a random number generator repeatable
reactiveTable Table output (deprecated)
sidebarLayout Layout a sidebar and main area
tabsetPanel Create a tabset panel
shinyApp Create a Shiny app object
renderImage Image file output
bootstrapLib Bootstrap libraries
suppressDependencies Suppress web dependencies
updateTabsetPanel Change the selected tab on the client
domains Reactive domains
serverInfo Collect information about the Shiny Server environment
renderUI UI Output
builder HTML Builder Functions
downloadButton Create a download button or link
makeReactiveBinding Make a reactive variable
conditionalPanel Conditional Panel
viewer Viewer options
textOutput Create a text output element
runGadget Run a gadget
updateSliderInput Change the value of a slider input on the client
clickOpts Create an object representing click options
textInput Create a text input control
checkboxGroupInput Checkbox Group Input Control
helpText Create a help text element
verbatimTextOutput Create a verbatim text output element
mainPanel Create a main panel
updateSelectInput Change the value of a select input on the client
dblclickOpts Create an object representing double-click options
shinyUI Create a Shiny UI handler
submitButton Create a submit button
plotPNG Run a plotting function and save the output as a PNG
tabPanel Create a tab panel
hoverOpts Create an object representing hover options
inputPanel Input panel
reactivePoll Reactive polling
navbarPage Create a page with a top level navigation bar
runExample Run Shiny Example Applications
removeInputHandler Deregister an Input Handler
outputOptions Set options for an output object.
knitr_methods Knitr S3 methods
callModule Invoke a Shiny module
fluidPage Create a page with fluid layout
stopApp Stop the currently running Shiny app
runApp Run Shiny Application
reactiveValuesToList Convert a reactivevalues object to a list
validate Validate input values and other conditions
knit_print.html Knitr S3 methods
checkboxInput Checkbox Input Control
reactive Create a reactive expression
updateDateInput Change the value of a date input on the client
validateCssUnit Validate proper CSS formatting of a unit
runUrl Run a Shiny application from a URL
isolate Create a non-reactive scope for an expression
tableOutput Create a table output element
renderTable Table Output
sidebarPanel Create a sidebar panel
updateNumericInput Change the value of a number input on the client
pageWithSidebar Create a page with a sidebar
reactiveFileReader Reactive file reader
wellPanel Create a well panel
verticalLayout Lay out UI elements vertically
withMathJax Load the MathJax library and typeset math expressions
updateTextInput Change the value of a text input on the client
withTags Evaluate an expression using tags
withProgress Reporting progress (functional API)
stacktrace Stack trace manipulation functions
tag HTML Tag Object
No Results!

Last month downloads


Type Package
Date 2016-03-28
License GPL-3 | file LICENSE
VignetteBuilder knitr
Collate 'app.R' 'bootstrap-layout.R' 'conditions.R' 'map.R' 'globals.R' 'utils.R' 'bootstrap.R' 'cache.R' 'fileupload.R' 'stack.R' 'graph.R' 'hooks.R' 'html-deps.R' 'htmltools.R' 'image-interact-opts.R' 'image-interact.R' 'imageutils.R' 'input-action.R' 'input-checkbox.R' 'input-checkboxgroup.R' 'input-date.R' 'input-daterange.R' 'input-file.R' 'input-numeric.R' 'input-password.R' 'input-radiobuttons.R' 'input-select.R' 'input-slider.R' 'input-submit.R' 'input-text.R' 'input-utils.R' 'jqueryui.R' 'middleware-shiny.R' 'middleware.R' 'modules.R' 'priorityqueue.R' 'progress.R' 'react.R' 'reactive-domains.R' 'reactives.R' 'render-plot.R' 'render-table.R' 'run-url.R' 'server-input-handlers.R' 'server.R' 'shiny.R' 'shinyui.R' 'shinywrappers.R' 'showcase.R' 'tar.R' 'timer.R' 'update-input.R'
RoxygenNote 5.0.1
NeedsCompilation no
Packaged 2016-03-28 15:21:34 UTC; winston
Repository CRAN
Date/Publication 2016-03-28 18:59:41

Include our badge in your README