HTML Widgets for R
R JavaScript
Latest commit 3ce9f90 Dec 9, 2016 @jjallaire jjallaire committed on GitHub Merge pull request #251 from ramnathv/joe/bugfix/dependencies-earlier
Move Shiny dependency rendering to be earlier

HTML Widgets for R

The htmlwidgets package provides a framework for easily creating R bindings to JavaScript libraries. Widgets created using the framework can be:

  • Used at the R console for data analysis just like conventional R plots (via RStudio Viewer).
  • Seamlessly embedded within R Markdown documents and Shiny web applications.
  • Saved as standalone web pages for ad-hoc sharing via email, Dropbox, etc.

There are already several R packages based on htmlwidgets, including:

  • leaflet -- Interactive maps with OpenStreetMap
  • dygraphs --- Interactive time series visualization
  • networkD3 --- Network visualization with D3
  • sparkline --- Small inline charts
  • DT --- Tabular data via DataTables
  • rthreejs -- Interactive 3D graphics

The package was created in collaboration by Ramnath Vaidyanathan, Joe Cheng, JJ Allaire, Yihui Xie, and Kenton Russell. We've all spent countless hours building bindings between R and the web, and were motivated to create a framework that made this as easy as possible for all R developers.

Getting Started

If you know R and a bit of JavaScript it's very straightforward to create your own widgets. You can install the htmlwidgets package from CRAN:


You can alternatively install the development version of htmlwidgets from GitHub as follows:


There are several articles on the htmlwidgets website that will help you get you off the ground quickly and take advantage of all of the capabilities of the framework: