DataTables is a JavaScript library to render HTML tables that can be paginated, filtered, and sorted. The R package DT is an interface to DataTables based on htmlwidgets, and users don’t need to know JavaScript to render HTML tables in R Markdown or Shiny. In this talk, I will show the main features of DT, demonstrate the basic structure of a HTML widget package using DT as the example, and explain how JavaScript and R/shiny communicates with each other (e.g. how pagination/filtering/sorting works under the hood).