Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

HTML Widgets for R

R build status CRAN status Lifecycle: stable

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: