Awesome Shiny Extensions

June 30, 2026 ยท View on GitHub


awesome-shiny-extensions logo

Awesome Shiny Extensions

Awesome

A curated list of awesome R and Python packages offering extended UI or server components to the web framework Shiny.

Your contribution is welcomed. Please create a pull request or issue to add packages to the list.



Contents

Theming

An awesome Shiny app often looks different from the default Bootstrap theme.

Generic Theming

  • shinythemes - Bootswatch themes (Bootstrap 3) for Shiny.
  • shiny.semantic - Fomantic UI (formerly Semantic UI) for Shiny.
  • shiny.fluent - Fluent UI for Shiny apps.
  • shiny.blueprint - Palantir's Blueprint for Shiny apps.
  • shinymaterial - Material Design for Shiny with Materialize.css.
  • shiny.webawesome - Web Awesome component library for Shiny.
  • shinyUIkit - UIkit API for Shiny.
  • fullPage - Single page styles for Shiny apps.
  • shinybulma - Bulma.io for Shiny.
  • shinyChakraUI - Chakra UI for Shiny.
  • shinyMetroUi - Metro 4 UI for Shiny.
  • shinyNextUI - NextUI for Shiny.
  • gridlayout - Build dashboard-style layouts for Shiny and R Markdown using CSS Grid.
  • flexlayout - A responsive three-column layout for Shiny. Creates up-to three-column layout where the left and right columns collapse into offcanvas elements on tablets and mobile devices.
  • calcite - Bindings to the Calcite Design System JavaScript component library.
  • muiMaterial - Material UI for Shiny apps and Quarto.
  • shiny.tailwind - Tailwind CSS for Shiny apps.
  • shinyGovstyle - Custom GOV.UK style inputs for Shiny.
  • fomantic.plus - Extra Fomantic UI components for shiny.semantic.
  • lcars - Star Trek aesthetic for Shiny with custom UI components.
  • shinyds - Shiny bindings for the Designsystemet component library.
  • argonR - Argon Bootstrap 4 UI components for Shiny apps.

Dashboard Theming

  • shinydashboard - Shiny dashboarding framework based on AdminLTE 2.
  • shinydashboardPlus - Additional AdminLTE 2 components for shinydashboard.
  • gentelellaShiny - Bootstrap 3 Gentelella theme for Shiny dashboards.
  • semantic.dashboard - Fomantic UI for Shiny dashboards.
  • bs4Dash - Bootstrap 4 Shiny dashboards using AdminLTE 3.
  • argonDash - Bootstrap 4 Argon template for Shiny dashboards.
  • tablerDash - Tabler dashboard template for Shiny with Bootstrap 4.
  • shidashi - A Shiny dashboard template system using AdminLTE 3 template.
  • bs4Dashkit - Branding, theme application, and navigation utilities for bs4Dash dashboards.
  • flexdashboard - R Markdown format for flexible dashboards.

Mobile Theming

  • miniUI - Widgets and layouts for Shiny apps working on small screens. Designed for creating Shiny Gadgets.
  • shinyMobile - Theming Shiny apps with Framework7, a full featured HTML framework for building iOS & Android apps.

Theme Customization

  • bslib - Tools for theming Shiny and R Markdown from R via Bootstrap (3 or 4) Sass.
  • fresh - Create fresh themes for use in shiny & shinydashboard applications and flexdashboard documents.
  • Rnightly - An R wrapper of the JavaScript library Nightly.
  • linne - Write CSS in R.
  • designer - Shiny UI prototype builder allowing drag and drop UI components before saving the equivalent R code.
  • gfonts - Offline Google Fonts for Markdown and Shiny.
  • cascadess - Style-pronoun utilities for applying CSS to htmltools and Shiny tags.
  • corazon - Apply colorffy gradients to Shiny elements.
  • sass - Compile Sass for dynamic style sheets.

UI Components

Frontend UI components for special input/output types.

Bootstrap

  • bsplus - Bootstrap 3 addons for Shiny and R Markdown (collapsible elements, accordion panels, accordion-sidebar sets, tooltips, popovers, modals, carousels).
  • bsutils - UI utilities for Bootstrap 5 and Shiny.
  • litter - Lit components for Shiny.
  • shinyWidgets - Bootstrap 3 custom widgets for Shiny (switches, checkboxes, sweet alerts, slider text, knob inputs, select pickers, search bar, dropdown buttons).
  • shinyBS - Bootstrap 3 components for Shiny (alerts, tooltips, popovers, modals, collapsible panels, button upgrades).
  • shinyLP - Bootstrap 3 landing pages for Shiny apps.
  • shinypanels - Shiny layout with collapsible panels.
  • slickR - Carousels for Shiny apps using slick.js.
  • spsComps - Additional Bootstrap 3 custom UI components (gallery, panels, buttons, animation and more) and additional Shiny server components (exception catch, validation, etc.).
  • card.pro - Lightweight modern and responsive card component for Shiny.
  • inshiny - Compact inline widgets for Shiny apps.
  • shinyGizmo - Custom UI components and input widgets for Shiny applications.
  • gridstackeR - R wrapper for gridstack.js to create draggable and resizable grid layouts.
  • dockViewR - Layout manager widget for R and Shiny apps.
  • resizableSplitLayout - Resizable split layout module for Shiny.
  • glasstabs - Animated glass-style tabs and multi-select filter for Shiny.
  • dipsaus - Custom Shiny input widgets including styled buttons, compound inputs, file/directory inputs, alerts, and progress indicators.
  • bs4cards - Generate Bootstrap 4 cards for Shiny and R Markdown.

File Input

  • shinyFiles - A server-side file system viewer for Shiny.
  • directoryInput - Shiny input widget for selecting directories.
  • datamods - Shiny modules to import and manipulate data from various sources.
  • shinydrive - Shiny module for file sharing between users with admin and user roles.

Special Input

  • shinyTime - A timeInput widget for Shiny.
  • shinyDatetimePickers - Datetime pickers for Shiny.
  • DateTimeRangePicker - A datetime range picker widget for Shiny.
  • shinyMatrix - Matrix input for Shiny.
  • shinyCleave - Customized text inputs (phone number, ZIP code, currency, credit card) based on Cleave.js.
  • shinySelect - A wrapper of the react-select library that supports grouped, sortable items with Font Awesome icons, KaTeX formulas, and Bootstrap tooltips.
  • regexSelect - Enable regular expression searches within a Shiny selectize object.
  • cascadeSelect - Cascade select widget for Shiny, useful for selection of hierarchical choices.
  • reactCheckbox - Checkbox group input for Shiny, with a head checkbox allowing to check or uncheck all the checkboxes in the group.
  • ShinyRatingInput - Star rating inputs for Shiny based on bootstrap-rating.
  • algo - Implements the Algolia Places address search auto completion menu on shiny text inputs.
  • shinyChakraSlider - Combined slider and number input for Shiny.
  • histoslider - A histogram slider input binding for Shiny. Supports creating histograms from numeric, date, and date-time vectors.
  • shinynlq - Natural language queries (NLQs) for Shiny as a bslib custom component.
  • shinyMultiActionButton - A multi-action button for Shiny.
  • NestedMenu - Multi-level dropdown menu selection input.
  • codeModules - Shiny modules to import/manipulate/export tabular data, download plots/tables/widgets, and output code with syntax highlighting using highlight.js.
  • shiny-highlight-rmarkdown - R code and R Markdown code output syntax highlighting using highlight.js.
  • daterangepicker - A date-range input widget for Shiny.
  • jqbr - jQuery QueryBuilder input for Shiny, enabling interactive construction of complex filter queries.
  • shinyKnobs - A collection of knob inputs for Shiny.
  • shinyRadioMatrix - Matrix of radio buttons input widget for Shiny, useful for Likert-scale and survey-style inputs.
  • shinyRatings - Star rating input for Shiny apps.
  • shinySearchbar - An input widget for searching and highlighting text in Shiny apps.
  • shinyXYpad - XY controller input widget for Shiny.
  • multiActionButton - Multi-action button for Shiny applications.
  • vfinputs - Visual filter inputs for Shiny.
  • shinyfilters - Create Shiny inputs from vectors, data frames, or any R object.
  • picClip - Paste box input for Shiny, allowing users to paste images from the clipboard.
  • shinyQueryBuilder - Construct complex filtering queries in Shiny.
  • shinyCohortBuilder - Modular cohort-building framework for analytical dashboards.
  • shinyfilter - Interdependent selectize filters for table columns in Shiny apps.
  • IDEAFilter - Agnostic, idiomatic data filter module for Shiny.
  • shinypanel - Shiny inputs with inline buttons, tooltips, and validation styling.
  • shinyquiz - Create interactive quizzes in Shiny apps.
  • scoutbaR - A spotlight React widget for Shiny apps, providing a command palette UI.
  • shinyDTC - Dynamic timer control widget for Shiny.
  • shinyTimer - Customizable timer widget for Shiny applications.
  • shinycroneditor - Cron expression input widget for Shiny apps.
  • rquiz - Interactive quiz widgets for Shiny, R Markdown, and Quarto.

Loader

  • shinycssloaders - CSS loader animations for Shiny outputs.
  • shinycustomloader - Custom css/html or gif/image loaders for Shiny outputs.
  • shinybusy - Minimal busy indicator for Shiny apps.
  • shiny.emptystate - Empty state components for Shiny.
  • shinydisconnect - Show a nice message when a Shiny app disconnects or errors.
  • waiter - Splash loading screens for Shiny.
  • sever - Customize Shiny's disconnected screen.
  • shiny-fcp-loader - Shiny app template with a loading screen that aims to minimize the time to First Contentful Paint (FCP).
  • shiny-loading-skeleton - Shiny app template with an animated, fully customizable skeleton loader.
  • standby - Alerts, notifications, and loading screens for Shiny.

Feedback / Alert / Notification

  • shinyFeedback - Display user feedback next to Shiny inputs.
  • shinyalert - Create pretty popup messages (modals) in Shiny apps.
  • shinytoastr - Notifications for Shiny apps, via toastr.
  • shinyToastify - A wrapper of the React-Toastify library for Shiny.
  • shinypop - Collection of notifications, confirm dialogs, and alerts for Shiny apps based on noty, notie, push.js, and notiflix.
  • shinyvalidate - Add input validation capabilities to Shiny.
  • awn - Awesome Notifications for Shiny.
  • micromodal - Simple modal dialogs for Shiny based on Micromodal.js.

Walkthrough / Tooltip / Help

  • rintrojs - Wrapper for Intro.js to create step-by-step introductions and clickable hints.
  • tippy - Wrapper for Tippy.js to add tooltips to R Markdown documents or Shiny apps.
  • cicerone - Create guided tours for Shiny apps using driver.js.
  • shinyhelper - Add Markdown help files to Shiny app elements.
  • scrollrevealR - Animate shiny elements when they scroll into view using the scrollrevealjs library.
  • faq - Accordion-based FAQ component with expand/collapse control.
  • flashCard - HTML widget for creating flippable flash cards.
  • prompter - Add tooltips in Shiny apps with 'hint.css'.
  • conductor - Create guided tours in Shiny apps using Shepherd.js.

Clipboard

  • rclipboard - Wrapper for clipboard.js to create copy-to-clipboard buttons for Shiny apps.

Color Picker

  • colourpicker - A colour picker tool for Shiny.
  • gradientPickerD3 - Interactive color gradient picker based on jquery-gradient-picker.
  • gradientInput - Another approach at gradient colour picker, implemented using the colourpicker package.

Editor

  • aceEditor - Ace editor as an HTML widget based on react-ace.
  • shinyAce - Ace code editor bindings for Shiny.
  • shinyMonacoEditor - The Monaco Editor in Shiny.
  • shinyMCE - TinyMCE WYSIWYG editor bindings for Shiny.
  • sqlquery - HTML widget for writing SQL queries with autocompletion for SQL keywords and table/field names.
  • shinyEditor - Ace and Monaco editor bindings for Shiny applications.
  • monaco - The Monaco Editor as an HTML widget.
  • markdownInput - Shiny module for a Markdown input with live result preview.
  • shinyNotes - Shiny module for taking free-form notes.
  • DataEditR - Interactive data editor for Shiny with modules for editing, filtering, and syncing data.
  • findInFiles - Search files and display grep results in an HTML widget with Shiny bindings.
  • highlighter - Prism.js syntax highlighting for code snippets and complete files.

Chat

  • shinychat - Chat UI component for Shiny.
  • chattr - Interact with large language models (LLMs) in RStudio through the R console or Shiny gadget.
  • gptstudio - Incorporate use of large language models (LLMs) into project workflows, with Shiny bindings for streamingMessage components.
  • shinyChatR - Reusable chat module for Shiny apps. Allows sending messages and view messages from other users. Messages can be stored in a database or a .rds file.
  • shiny.ollama - Shiny interface for chatting with large language models offline using Ollama.
  • querychat - Filter and query data frames in Shiny using an LLM chat interface.

Table

  • DT - R interface to the DataTables library.
  • reactable - Interactive data tables for R, based on the React Table library and made with reactR.
  • reactable.extras - Enhanced functionality for reactable in Shiny applications, with interactive and dynamic data table capabilities.
  • reactablefmtr - Simplify the styling, formatting, and customization of tables made with reactable.
  • kableExtra - Construct complex table with knitr::kable() and pipes.
  • formattable - Table elements formatting and styling for R Markdown documents and Shiny apps.
  • flextable - Create tables for reporting with format and layout control.
  • gt - Generate information-rich, publication-quality tables.
  • gtExtras - Extending gt for beautiful HTML tables.
  • gtsummary - Presentation-ready data summary and analytic result tables.
  • rhandsontable - Create Excel-like editable tables in Shiny apps.
  • DTedit - Editable DataTables for Shiny apps.
  • dteditmod - A fork of DTedit with a modular implementation and more documentation.
  • texPreview - Preview and save images of rendered snippets of LaTeX in RStudio viewer, R Markdown and Shiny.
  • basictabler - Construct rich tables for output to HTML/Excel.
  • pivottabler - Create pivot tables in R.
  • pivta - R wrapper for WebDataRocks, an interactive pivot table component for data analysis.
  • excelR - R interface to the jExcel.js library.
  • xSpreadsheet - R wrapper for the JavaScript canvas spreadsheet library x-spreadsheet.
  • editbl - DT (DataTables) extension to support interactive editing. Easily supports databases.
  • rtabulator - R bindings for the Tabulator JS library for interactive tables.
  • muiDataGrid - MUI X Data Grid for Shiny apps and Quarto, a fast and extensible React data table with filtering, sorting, and pagination.
  • tableHTML - Create and style HTML tables with CSS, with Shiny rendering functions.
  • toastui - Interactive tables, calendars, and charts based on the TOAST UI JavaScript library.
  • shinypivottabler - Shiny module to create interactive pivot tables.
  • shinydataviewer - Reusable data viewer module for Shiny.
  • ViewR - Interactive data table and data explorer with a virtualized grid, spark histograms, hover metadata, visual query builder, and code generation.
  • dataviewR - Interactive data frame viewer with filtering, column selection, and code generation.
  • dtsmartr - Interactive virtualized data explorer grid htmlwidget with column-type detection, multi-value filtering, sorting, and virtual scrolling.
  • DT2 - DataTables 2.x htmlwidget with Shiny rendering, proxy, and event helpers.
  • RagGrid - AG Grid htmlwidget for interactive tables in R Markdown and Shiny.
  • htmlTable - Advanced HTML tables with Shiny output and render bindings.
  • nestable - Collapsible hierarchical HTML tables with Shiny bindings.
  • cheetahR - High-performance Cheetah Grid htmlwidget for large interactive tables.
  • QuickExplore - Shiny modules for browsing, filtering, summarizing, and converting tabular datasets.
  • perspectiveR - Perspective htmlwidget for interactive pivot tables and browser-side analytics, with Shiny proxy support.
  • condformat - Conditional formatting for data frames.
  • tangram - Formula grammar for creating tables.

Drawers

  • pushbar - Brings pushbar.js to Shiny. Create off-canvas sliding drawers for inputs, outputs, or any other content.

Drag and Drop

  • shinyDND - Create drag and drop elements in Shiny.
  • sortable - HTML widget for SortableJS that enables drag-and-drop behavior and reorderable elements.
  • dragulaR - R interface for the dragula JavaScript library for moving around elements in Shiny apps.
  • dndselectr - Drag-and-drop Shiny select input.
  • esquisse - Drag and drop inputs and visual builder for ggplot2.
  • shinykanban - Interactive Kanban board with drag-and-drop interface for Shiny.

Text

  • marker - Highlight text in Shiny with markjs.
  • circletyper - Curve text elements in Shiny using CircleType.js.
  • equatiomatic - Transform fitted statistical models into LaTeX equations, with Shiny output and render bindings.
  • epoxy - Data-driven string interpolation helpers for Shiny UI and rendered HTML text.

Image / Audio / Video

  • shinysense - A series of shiny modules to help Shiny sense the world around it (draw, swipe cards, record images from a webcam, record audio, capture accelerometer data).
  • pixels - HTML widget and Shiny Gadget to render and draw pixels.
  • fabricerin - Create HTML5 canvas in Shiny and R Markdown documents based on Fabric.js.
  • heyshiny - Speech to text input.
  • vembedr - Embed videos in R Markdown documents and Shiny apps.
  • webcamR - HTML widget wrapper around the react-webcam library.
  • drawer - A front-end only image editor for both Shiny and R Markdown.
  • shinyscreenshot - Capture screenshots of entire pages or parts of pages in Shiny apps.
  • howler - Shiny extension for howler.js to add audio playback controls.
  • annotator - Image annotation and polygon outlining htmlwidget using free drawing.
  • video - Shiny extension for video.js to embed customizable HTML5 video players.
  • freewall - Dynamic image grid layouts for Shiny and R Markdown.
  • swipeR - Carousels using the JavaScript library Swiper.
  • rintimg - View an image in full screen by clicking on it.
  • recogito - Text and image annotation.

PDF

  • rpdf - Mozilla pdf.js htmlwidget for R.

Icon Font

  • fontawesome - Insert FontAwesome icons into R Markdown documents and Shiny apps.
  • icongram - Interface to Icongram, easily fetch svg icons with a single function.
  • rheroicons - A zero-dependency SVG icon library implementing the Heroicons set for Shiny.
  • bsicons - Bootstrap Icons helpers for Shiny, R Markdown, and htmltools.
  • phosphoricons - Phosphor icon set for Shiny and R Markdown.
  • lucidr - Lucide SVG icons for R.

Image Comparison

  • vdiffr - Visual regression testing and graphical diffing, with toggle, slide, and diff widgets for comparing two images.
  • slideview - Slider-based htmlwidget for comparing raster images side by side.

Code Diff

  • diffviewer - HTML widget to visually compare files (text, images, and data frames).
  • diffr - Create code diff widgets based on codediff.js.
  • diffRgit - Create an HTML Git diff widget using the diff2html library.
  • jsondiff - R interface to jsondiffpatch for comparing R objects as JSONs.

Calendar

  • tuicalendr - HTML widget to create interactive calendars with JavaScript library tui-calendar.

Notebooks

Animation Effects

  • typedjs - R htmlwidget for animated typing effect with typed.js.
  • countup - R htmlwidget that animates a numerical value by counting to it with CountUp.js.
  • textillate - CSS3 text animations with textillate.js.
  • shinyglide - Create carousel-like or assistant-like (wizard) UI components with Glide.js.
  • d3rain - HTML widget bringing D3 drip to R.
  • hover - Add animations to Shiny button elements using Hover.css.
  • bubblyr - Add animated bubbles to Shiny and R Markdown backgrounds.
  • shinyEffects - Customize shiny apps with CSS effects (Zoom / Pulse / Shadow / Shake).
  • shinyanimate - Animation for Shiny elements using Animate.css.
  • shinyLottie - Seamlessly integrate Lottie animations into Shiny applications.
  • vov - CSS animations for Shiny elements.
  • spoiler - Blur HTML elements in Shiny applications using Spoiler-Alert.js.
  • r2fireworks - Add fireworks celebration effects to Shiny apps and R Markdown.
  • aos - Apply scroll-triggered animations to Shiny and R Markdown elements using the AOS (Animate On Scroll) library.
  • aniview - Animate Shiny and R Markdown elements when they scroll into view, powered by AniView and Animate.css.
  • animejs - Low-level htmlwidget bindings to Anime.js for browser-native SVG and HTML animations.
  • GomoGomonoMi - Animate Shiny and R Markdown text using Animate.css.
  • countdown - A countdown timer for Shiny apps, R Markdown, and Quarto.
  • flipdownr - Flipdown.js countdown component for R Markdown documents and Shiny apps.
  • flipdownWidgets - Flipdown.js countdown htmlwidget with Shiny bindings.

i18n

  • shiny.i18n - Easy internationalization of Shiny apps.
  • shi18ny - Tools for shiny apps internationalization.

React

  • reactR - Use React in R with htmlwidget constructor templates and local JavaScript dependencies.
  • shinyReactWidgets - React widgets for Shiny apps.
  • shiny.react - Tools for using React in Shiny.
  • reactRouter - React Router for Shiny apps and Quarto.

Vue.js

  • vuer - Use Vue components and build Vue apps in R.
  • vueR - Use Vue.js in R with htmlwidget constructor templates and local JavaScript dependencies.

Advanced Interactivity

  • htmlwidgets - A framework for creating R bindings to JavaScript libraries.
  • crosstalk - Inter-widget interactivity (for example, linked brushing and filtering) for htmlwidgets.
  • shinyjs - Perform common JavaScript operations in Shiny apps.
  • shinyjqui - Add jQuery UI interactions and effects (e.g. draggable, resizable, sortable elements) to Shiny apps.
  • shiny.collections - Google Docs-like live collaboration in Shiny with RethinkDB.
  • shinyCanvas - Create and customize an interactive canvas using the D3 JavaScript library and the htmlwidgets package.
  • shinymeta - Record and expose Shiny app logic using metaprogramming.
  • shinyscroll - Scroll to an element in Shiny.
  • scroller - Smooth scroll to any element in Shiny apps and R Markdown documents using the Arbitrary Anchor jQuery plugin.
  • gotop - Add a scroll back to top Font Awesome icon to Shiny apps and R Markdown documents using jQuery GoTop.
  • pagemapR - Create a mini map for Shiny apps and R Markdown documents.
  • keys - Assign and listen to keyboard shortcuts in Shiny using the Mousetrap JavaScript library.
  • js4shiny - Companion package for 'JavaScript for Shiny Users' workshop, with components to enable using R Markdown for literate programming with JavaScript.
  • flexfilter - Create a filter from a data frame that enables users to dynamically add filters on each column. The filter dynamically generates the appropriate input for the selected column based on its type.
  • overshiny - Draggable and resizable rectangular overlays on Shiny plots.
  • r2resize - In-text resizable containers for images, tables, and other content in Shiny, R Markdown, and Quarto.
  • manipulateWidget - Add interactivity to htmlwidgets with combine and filter controls for Shiny.
  • linkeR - Link interactive plots and tables in Shiny applications for coordinated views.
  • shinyphaser - Interface to the Phaser.js game framework for constructing and managing 2D games in Shiny apps.
  • bscui - Interactive SVG custom interfaces with Shiny bindings and proxy updates.
  • svgPanZoom - Add pan and zoom interactivity to SVG graphics as an htmlwidget.
  • shinyReports - Render R Markdown reports to HTML and open them in a new browser tab.

Visualization

Frontend components for interactive visualization of specific data types.

General-Purpose

  • plotly - Interactive web graphics via plotly.js. Has special support for linking/highlighting/filtering views.
  • highcharter - R wrapper for the highcharts JavaScript charting library.
  • rbokeh - R interface for Bokeh.
  • echarts4r - Interactive graphs with Echarts v4.
  • g2r - Grammar of graphics for interactive visualization using G2.js.
  • litecharts4r - A lite wrapper around echarts.js and echarts4r.
  • r2d3 - R interface to D3 visualizations.
  • vegalite - R ggplot2 bindings for Vega-Lite.
  • vegawidget - HTML widget renderer for Vega and Vega-Lite.
  • sketch - Creates static / animated / interactive visualizations embeddable in R Markdown documents and Shiny. Implements an R-to-JavaScript transpiler and enables users to write JavaScript applications using the syntax of R.
  • d3po - Fast and beautiful interactive visualization for R Markdown and Shiny. Acts as intermediate layer between Shiny and D3 by providing templates.
  • ggiraph - HTML widget that makes ggplot2 graphics interactive. Select graphical elements, add tooltips, animations, and JavaScript actions to the graphics.
  • rfrappe - HTML widget for the Frappe Charts JavaScript library.
  • tuichartr - HTML widget for tui-chart.
  • billboarder - HTML widget for billboard.js.
  • apexcharter - HTML widget for ApexCharts.js.
  • taucharts - HTML widget for Taucharts.
  • googleVis - R interface to Google Charts.
  • rroughviz - R warpper for roughViz.js, a JavaScript library for creating sketchy/hand-drawn styled charts.
  • rAmCharts4 - R interface to amCharts 4.
  • fusionchartsR - R wrapper for the FusionCharts JavaScript charting library.
  • rPackedBar - Packed bar charts with plotly as an htmlwidget.
  • maidr - Multimodal access and interactive data representation with accessibility features.
  • GWalkR - Interactive Tableau-like exploratory data analysis htmlwidget for Shiny.
  • AutoPlots - High-level ECharts visualization helpers for common chart types and model evaluation plots.
  • canvasXpress - Interactive visualization for scientific and biomedical research using CanvasXpress.
  • echarty - Minimal Shiny and htmlwidget interface to Apache ECharts.
  • flourishcharts - Flourish htmlwidget for interactive data storytelling charts.
  • lineupjs - LineUp.js htmlwidget for interactive visual analysis of multi-attribute rankings.
  • plotscaper - Linked interactive exploratory figures with selection, zooming, and panning.
  • rAmCharts - Interface to the amCharts JavaScript charting library.
  • Rnvd3 - Wrapper for selected nvd3 JavaScript charts.
  • detourr - Interactive 2D and 3D scatterplot display.
  • shinyHugePlot - Efficient Plotly/Shiny plotting for very large datasets using downsampling.
  • altair - R interface to Altair and Vega-Lite with Shiny-ready vegawidget output bindings.
  • c3 - Interactive C3.js charts for R Markdown and Shiny applications.
  • SveltePlots - Svelte and D3 charting htmlwidget designed to simplify Shiny interactivity.
  • upsetjs - UpSet.js htmlwidget for interactive set intersection visualizations.
  • vchartr - Interactive charts with the VChart JavaScript library.
  • visachartR - Accessibility-focused htmlwidget wrappers for Visa Chart Components.
  • myIO - Composable D3 htmlwidget chart system.
  • vizdraws - Interactive visualization of Bayesian prior and posterior distribution draws.
  • rMosaic - R bindings to the Mosaic declarative visualization framework with linked, interactive plots backed by DuckDB.

Scatterplot

  • scatterD3 - R scatterplot htmlwidget based on D3.js.
  • pairsD3 - D3 scatterplot matrices.
  • rthreejs - Interactive 3D scatterplots, networks, and globes based on three.js.
  • graph3d - R wrapper of the JavaScript library vis-graph3d.
  • hpackedbubble - Split packed bubble charts with highcharts.
  • scatterPlotMatrix - D3 scatter plot matrix htmlwidget with Shiny bindings.
  • picker - High-performance deck.gl scatterplot widget with Shiny bindings.
  • langevitour - Interactive tours of 2D projections of high-dimensional data.

Parallel Coordinates

  • parcoords - HTML widget for D3 parallel coordinates chart.
  • parallelPlot - D3 parallel coordinates htmlwidget with Shiny bindings.
  • klustR - D3 visualizations for interactive parallel coordinate and principal component plots.

Time Series

  • dygraphs - R interface to the dygraphs JavaScript charting library.
  • metricsgraphics - An htmlwidget interface to the MetricsGraphics.js D3-based charting library.
  • timevis - Interactive timeline visualizations based on vis.js.
  • linevis - Interactive time-series visualizations based on vis.js, easy to synchronize with timevis.
  • timelineschart - R interface to timelines-chart.
  • streamgraph - HTML widget for creating streamgraph visualizations in R.
  • eventdropR - HTML widget for EventDrops, time based and event series interactive visualization using D3.
  • tsibbletalk - Interactive graphics for tsibble objects with Shiny modules for exploring temporal patterns.
  • cronologia - HTML vertical timeline component for R Markdown and Shiny.

Tree and Hierarchical Data

  • D3partitionR - D3-based interactive visualization of nested and hierarchical data (sunburst, treemap, circle treemap, icicle, and partition chart) for Shiny.
  • d3Tree - D3-based collapsible trees for Shiny.
  • collapsibleTree - D3-based interactive collapsible tree diagrams.
  • jsTree - R htmlwidget for inspecting heirachal structures with the jQuery jsTree plugin.
  • shinyTree - jsTree bindings for creating interactive trees in Shiny.
  • jsTreeR - A wrapper of the JavaScript library jsTree.
  • shinyCheckboxTree - Checkbox tree widget for Shiny. Wrapper of the JavaScript library react-checkbox-tree.
  • muiTreeView - MUI X Tree View for Shiny apps and Quarto, a React component for navigating expandable, collapsible hierarchical lists.
  • listviewer - View and modify lists interactively, based on jsoneditor and react-json-view.
  • trelliscopejs - Create interactive Trelliscope displays based on trelliscopejs-lib.
  • Rmarkmap - Create interactive mind maps with the markmap JavaScript library.
  • voronoiTreemap - Interactive Voronoi treemaps as htmlwidgets.
  • vtree - Display information about nested subsets of a data frame as htmlwidgets.
  • nivo.bubblechart - Nivo circle packing htmlwidget for hierarchical bubble charts in Shiny.
  • sunburstShinyWidget - D3-based sunburst htmlwidget for hierarchical data in Shiny.
  • sunburstR - D3 sunburst charts for hierarchical data.
  • heattree - Interactive phylogenetic tree visualization.
  • treemap - Hierarchical data visualization with treemaps.

Network and Graph Data

  • networkD3 - Create D3 network, tree, dendrogram, and Sankey diagram from R.
  • visNetwork - Network visualization using vis.js.
  • sigmajs - Interface to the sigma.js graph visualization library, including animations, plugins, and Shiny widgets.
  • sigmaNet - Render igraph networks using sigma.js.
  • chorddiag - R interface to D3 interactive chord diagrams.
  • chordViz - Create interactive chord diagrams in R.
  • edgebundleR - Circular layout plots with bundled edges based on D3.
  • hiveD3 - D3-based hive plots. Tutorial for recreating the package.
  • grapher - An R integration of ngraph to create 3D and 2D interactive graphs.
  • shinyCyJS - Cytoscape.js R binding for Shiny.
  • cyjShiny - R/Shiny widget for Cytoscape.js.
  • g6R - Graph visualization engine widget based on AntV G6 for R and Shiny.
  • sgraph - Network visualization for large igraph graphs with sigma.js v2.
  • ndtv - Animated visualizations for dynamic network data.

Categorical Data

  • bar - Interactive one-dimensional proportions chart for representing categorical data.
  • parcats - Interactive parallel categories diagrams using plotly.js.

Diagrams

  • DiagrammeR - Diagram, graph, and network visualization based on D3.js, viz.js, and mermaid.js.
  • nomnoml - R interface to nomnoml, a tool for drawing sassy UML diagrams based on syntax with customizable styling.
  • bpmn - R interface to the bpmn-js library.
  • processmapR - Construct interactive process maps using event data as htmlwidgets.
  • amVennDiagram5 - Interactive amCharts 5 Venn diagrams for Shiny and R Markdown.
  • bpmnVisualizationR - BPMN diagram htmlwidget with overlays, styling, and interactions.
  • sankeywheel - Highcharts-based Sankey diagrams and dependency wheels for Shiny and R Markdown.

Heatmap

  • d3heatmap - D3-based interactive heatmaps (highlight rows/columns, zoom in/out, clustering, dendrograms).
  • heatmaply - Interactive heatmaps using plotly.
  • rChartsCalmap - An htmlwidgets binding for calendar heatmaps using D3.
  • calheatmapR - R interface for the cal-heatmap JavaScript charting library to create calendar heatmaps.
  • nivocal - HTML widget for drawing calendar heatmaps based on nivo.
  • supercaliheatmapwidget - Supercalifragilistic HTML calendar heatmaps.
  • iheatmapr - Modular interactive complex heatmaps as htmlwidgets.

Maps and Spatial Data

  • leaflet - R interface to the Leaflet JavaScript library to create interactive maps.
  • leaflet.extras - Extra functionality for the leaflet package.
  • leaflet.extras2 - More plugins for the leaflet package.
  • leafgl - Performant WebGL rendering for leaflet.
  • leaflet.minicharts - Add and modify small charts on the interactive map created with the leaflet package.
  • leaflet.opacity - Opacity controls for Leaflet maps.
  • leaftime - Leaflet-timeline plugin for Leaflet to show changing geospatial data over time.
  • leafletCN - China and geojson choropleth maps for Leaflet.
  • leafdown - Provides drilldown functionality for leaflet choropleths.
  • mapdeck - Interactive maps using Mapbox GL and Deck.gl.
  • deckgl - R Interface to Deck.gl.
  • r2deck - R interface to Deck.gl and Mapbox GL visualizations.
  • h3r - Uber's H3 geographical indexing library bindings for R.
  • googleway - Access Google Maps API to retrieve data and draw maps.
  • mapview - Interactive viewing of spatial data.
  • mapedit - Interactive editing of spatial data.
  • tmap - Create thematic maps, such as choropleths and bubble maps.
  • datamaps - Create interactive choropleth maps with the JavaScript library Datamaps, add arcs and bubbles, change choropleth values, and change labels.
  • topogram - Cartogram htmlwidget for visualizing geographical data by distorting a TopoJSON topology using cartogram-chart.
  • rsquaire - R interface for squaire.js, a JavaScript library for making responsive equal-area square maps using D3.
  • hchinamap - Mapping China and its provinces with highcharts.
  • planetary - HTML widget for the planetary.js library for creating interactive globes.
  • gior - HTML widget for gio.js for declarative 3D globe data visualization.
  • quickglobe - View country data via a 3D D3 globe.
  • mapgl - Interactive maps using Mapbox GL JS and MapLibre GL JS.
  • AtlasMaker - Shiny module to create multiple interconnected leaflet maps across tabs.
  • rDeckgl - R bindings to Deck.gl.
  • toro - Interactive and customizable maps using the MapLibre GL JS library.
  • bivariateLeaflet - Create bivariate choropleth maps with Leaflet.
  • leafem - Leaflet and mapdeck extensions for mouse coordinates, image queries, zoom controls, and feature layers.
  • leaflegend - Custom legends and symbols for leaflet maps.
  • leaflet.providers - Third-party map tile provider definitions for the leaflet package.
  • leafpm - Leaflet plugin for drawing and editing spatial features.
  • leafpop - Embed tables, images, and graphs in leaflet popups.
  • leafsync - Small multiples of synchronized leaflet web maps.
  • flowmapblue - Interactive flow map htmlwidget for movement flows between geographic locations.
  • maplamina - High-performance WebGL mapping widgets based on MapLibre GL and deck.gl.
  • plainview - Interactive raster image viewer on a plain HTML canvas.
  • geoarrowWidget - Attach GeoArrow and GeoParquet data to interactive htmlwidgets.
  • tmap.mapgl - Mapbox GL JS and MapLibre GL JS modes for tmap.
  • amapro - Build and control interactive 2D and 3D AMap/Gaode maps in R and Shiny.
  • explodemap - Hierarchical exploded-view cartography with an interactive focus map widget for Shiny.
  • webmap - Interactive Leaflet web maps using The National Map services, with map controls and widgets.

Sparkline

  • sparkline - jQuery Sparkline (tiny inline charts) HTML Widget for R. Use sparklines in DT.
  • reactrend - Simple, elegant spark lines and trend graphs based on react-trend.
  • trendchart - Small, simple trendchart for R.
  • peity - Inline charts for R.
  • dataui - Interactive visualizations of data-ui based on vx.

Word Cloud

  • wordcloud2 - Word cloud visualization based on wordcloud2.js.
  • hwordcloud - Render word clouds with highcharts.
  • d3wordcloud - HTML widget for D3.js word cloud layout.

Biological Data

  • igvR - R package providing interactive connections to igv.js running in a web browser.
  • igvShiny - HTML widget for igv.js, a JavaScript library for embeddable genomic visualization.
  • nglShiny - NGL Viewer as an htmlwidget for molecular visualization.
  • NGLVieweR - Interactive 3D visualization of molecular structures using the NGL Viewer JavaScript library.
  • shiny.molstar - Shiny wrapper for Mol*, a visualization toolkit of large scale molecular data.
  • msaR - BioJS-based MSA (multiple sequence alignment) viewer.
  • shiny.gosling - Shiny wrapper for Gosling.js, grammar-based toolkit for scalable and interactive genomics data visualization.
  • TnT - Track-based visulizations based on the TnT JavaScript libraries. Useful for displaying genomic features as a simple genome browser.
  • mutsneedle - Interactive mutation lollipop diagrams.
  • g3viz - D3-based interactive lollipop plots.
  • BioCircos.R - Interactive circular visualization of genomic data using htmlwidgets and BioCircos.js.
  • chromoMap - Interactive visualization and mapping of human chromosomes.
  • ideogRam - HTML widget for chromosome visualization with ideogram.js.
  • flowDashboard - Shiny Modules for visualizing flow cytometry data.
  • qtlcharts - Interactive graphics for QTL experiments.
  • phylocanvas - Interactive phylogenetic trees using the Phylocanvas JavaScript library.
  • phylowidget - Interactive phylogenetic trees based on phylotree.js.
  • JBrowseR - R interface to the JBrowse 2 linear genome view.
  • safetyCharts - Charts for monitoring clinical trial safety.
  • threeBrain - Advanced 3D brain visualization as an htmlwidget.
  • volcanoPlot - Volcano plot Shiny module for clinical trial adverse event monitoring.
  • geneviewer - Interactive gene cluster visualization.
  • ggseg3d - Interactive Three.js brain atlas meshes visualization.
  • shinybody - Interactive anatomography widget for Shiny.
  • jellyfisher - Interactive jellyfish plots combining sample and phylogenetic trees to visualize spatiotemporal tumor evolution.
  • Racmacs - Make antigenic maps from immunological assay data.

Chemical Data

  • r3dmol - Visualizing molecular data in 3D, based on 3Dmol.js.
  • chemdoodle - HTML widget for visualizing and drawing molecules.

WebGL

  • rgl - Render WebGL scenes created with the rgl package (vignette).
  • rayshader - Create and visualize hillshaded maps from elevation matrices.
  • rayrender - Build and raytrace 3D scenes.
  • rayimage - Render depth of field for images.
  • ggWebGL - Browser-native WebGL rendering for R graphics.
  • r3js - WebGL-based 3D plotting with three.js and Shiny bindings.
  • thorn - WebGL shader htmlwidgets that can be used as Shiny app backgrounds.
  • cubeview - Interactive 3D raster cube viewer.

Augmented and Virtual Reality

  • shinyaframe - WebVR data visualizations with Shiny and Mozilla A-Frame.
  • arframer - Augmented Reality in R based on AR.js.

Frameworks

Shiny app scaffolding and development frameworks built for various purposes.

Foundational frameworks

  • Rhino - Build high quality, enterprise-grade Shiny apps at speed.
  • golem - Opinionated framework for building production-grade Shiny apps.
  • teal - Interactive exploration framework for analyzing clinical trials data, provides a dynamic filtering facility and different data viewers.
  • yonder - A reactive web framework built on Shiny with Bootstrap 4.
  • aurora - Build stateless web apps in R with plumber2 and bslib.
  • blockr.core - Graphical web framework for data manipulation and visualization using reusable, composable blocks.
  • learnr - Interactive R Markdown tutorials with Shiny-powered exercises, quizzes, and question widgets.
  • surveydown - Markdown-based programmable surveys using Quarto and Shiny, with skip logic, multiple question types, and database storage.

Scaffolding

  • leprechaun - Code generator for lean and robust Shiny applications.
  • windy - Sets up basic scaffold to use Tailwind CSS within an R package for a Shiny application.
  • periscope - Enterprise streamlined Shiny application framework with reusable downloadable modules.
  • periscope2 - Enterprise streamlined Shiny application framework using bs4Dash.
  • autoshiny - Automatically transform an R function into a Shiny app object or app files.

Framework extensions

  • teal.code - Code storage and execution class for teal applications.
  • teal.data - Data model for teal applications.
  • teal.logger - Logging setup for the teal family of packages.
  • teal.modules.clinical - A set of teal modules for standard clinical outputs.
  • teal.modules.general - General modules for teal applications.
  • teal.picks - Dataset and variable picker and merge module for teal applications.
  • teal.reporter - Reporting tools for Shiny modules.
  • teal.slice - Filter module for teal applications.
  • teal.transform - Functions and Shiny modules for extracting and merging data within the teal framework.
  • teal.widgets - Shiny widgets for teal applications.
  • uteals - Shared decorators, transformators, and utility functions that extend teal modules.
  • blockr.dag - A directed acyclic graph extension for blockr.
  • blockr.dock - A docking layout manager for blockr.
  • blockr.dplyr - Interactive dplyr data transformation blocks for blockr.
  • blockr.ggplot - Interactive ggplot2 visualization blocks for blockr.
  • blockr.io - Interactive file import and export blocks for blockr.
  • formods - Shiny modules for general tasks including data wrangling, figure generation, and app state management.
  • tutorial.helpers - Helper functions and Shiny modules for creating, editing, and testing tutorials with learnr, including collecting student submissions.
  • mwshiny - Run a Shiny app across multiple connected browser windows.
  • VizModules - Flexible Shiny plotting modules for composing interactive visualization apps.

Backend

Backend components and service integrations for Shiny apps.

Database

Persistent Data Storage

  • pins - Publish data sets, models, and other R objects to folders, Posit Connect, Amazon S3, and more.
  • shinystate - Customize Shiny's bookmarkable state with configurable storage locations via the pins package.

API Frameworks

  • RestRserve - R web API framework for building high-performance and robust microservices and app backends.
  • plumber - Create web APIs by decorating R code with special comments.
  • plumber2 - Easy and powerful webservers in R. A complete rewrite of plumber.
  • valve - Create multi-threaded Plumber APIs powered by Rust's tokio and axum web frameworks.
  • htmxr - Build server-driven web applications in R with htmx for partial page updates and plumber2 for non-blocking HTTP endpoints.
  • opencpu - A system for embedded scientific computing and reproducible research with R.
  • communicate - Small framework to communicate between Shiny client and server via HTTP requests.

URL Routing

  • shiny.router - Minimalistic URL router for Shiny apps.
  • shinyURL - Save and restore the state of a Shiny app by encoding the values of user inputs and active tab panels in the app's URL query string.
  • brochure - Create natively multi-page Shiny applications to serve content from multiple endpoints. See blog post on POST requests support.
  • scenes - Switch between alternative UIs based on request properties, such as cookies, paths, query parameters, or HTTP request method.
  • Accepting POST requests from Shiny - Undocumented feature for handling POST requests that are not associated with any specific Shiny session.
  • shinypayload - Accept POST data and URL parameters in Shiny for same-port integration.

Authentication

  • shinymanager - Simple and secure authentification mechanism for single Shiny apps.
  • gargle - Infrastructure for calling Google APIs from R, including auth.
  • googleAuthR - Shiny compatible Google API client for authentication with OAuth2.
  • auth0 - Authentication in Shiny apps using Auth0.
  • shinyauthr - Server-side authentication using shiny modules.
  • firebase - Authenticate Shiny users with Google Firebase.
  • otp - One-Time Password generation and verification.
  • backendlessr - R wrapper for Backendless API to manage users.
  • cognitoR - Authentication for Shiny apps with Amazon Cognito.
  • login - Shiny login module providing customizable login/logout UI.
  • polished - Authentication, user administration, and hosting for Shiny apps.
  • shinydbauth - Simple authentication for Shiny applications with database-backed credential storage.
  • shinyOAuth - Provider-agnostic OAuth authentication for Shiny applications.
  • tapLock - Seamless Single Sign-On for Shiny.
  • rAccess - Access control module for Shiny applications with hierarchical permission management.

Job Scheduling

  • cronR - R package for managing cron jobs.

Web APIs Integration

  • glouton - Handle browser cookies in shiny, built on top of js-cookie.
  • cookies - Another js-cookie package, with added functionality to handle HttpOnly cookies.
  • geoloc - Use the Geolocation API to get the location of the user (with user's permission).
  • shinyStore - Use the Web Storage API to store persistent, synchronized data in the user's browser.
  • shinyStorePlus - In-browser storage for Shiny persistent, synchronized data from the inputs using IndexedDB.
  • AutoDeskR - Interface to Autodesk Platform Services APIs with Shiny viewers for 2D and 3D design models.

Notification Integration

  • slackr - Send messages, images, R objects, and files to Slack channels/users.
  • sendgridr - Send emails with SendGrid mail API (v3).
  • twilio - R interface to the Twilio API.
  • blastula - Easily send HTML email messages from R.
  • mjml - Create responsive emails with R and MJML.
  • mailtoR - Creates a friendly user interface for emails sending in Shiny.
  • emailjsr - EmailJS integration for sending emails from Shiny apps.
  • r2social - Social media sharing and connect buttons for Shiny and R Markdown.

Cloud Integration

  • cloudyr - R packages for integrating with AWS, Azure, and Google Cloud.

G Suite Integration

  • googlesheets4 - R interface to Google Sheets via the Sheets API v4.
  • googlesheets - R interface to Google Spreadsheets API (no longer under active development).
  • googledrive - R API client for Google Drive.
  • gmailr - Access the Gmail RESTful API from R.

Deploy

Deploy Shiny apps to the cloud, hosted infrastructure, or desktop.

Remote Deploy

  • rsconnect - Deploy Shiny apps to shinyapps.io, or Posit Connect.
  • connectwidgets - Query a Posit Connect server for a subset of content items, then organize them within htmlwidget components in R Markdown documents or Shiny applications.
  • tinyshinyserver - Lightweight multi-app Shiny proxy with WebSocket support and automatic health monitoring.

Desktop Deploy

  • RInno - Deploy Shiny apps to Windows by interfacing Inno Setup and Electron.
  • electricShine - Create distributable Shiny Electron apps.
  • photon - RStudio Add-in to build Shiny apps utilizing the Electron framework.
  • DesktopDeployR - A framework for deploying self-contained R-based applications to the desktop.
  • Shiny Meets Electron - Talk at useR! 2018 on turning Shiny app into standalone desktop apps. Talk video.
  • r-shiny-electron - Template for R Shiny and Electron integration.
  • nativefier - Create Electron wrappers for any websites (including remotely deployed Shiny apps).
  • shiny.pwa - Progressive Web App (PWA) support for Shiny, enabling installable web apps.

Static Server Deploy

  • r-shinylive - Run Shiny apps entirely in the browser using WebAssembly via webR.
  • webR - A version of R compiled for the browser and Node.js using WebAssembly via Emscripten.

Developer Tools

Debug, test, and optimize Shiny apps.

Prototyping

  • shinyuieditor - A GUI for laying out a Shiny application that generates clean and human-readable UI code.
  • shinipsum - Lorem-Ipsum-like helpers for fast Shiny prototyping.
  • fakir - Create fake data in R for tutorials.
  • shinysnippets - A series of Shiny related RStudio snippets.
  • midas - Bootstrap new Shiny functions by turning HTML snippets directly into R tag functions.
  • html2R - Converts HTML markup into R tag code for building Shiny UIs.
  • ShinyQuickStarter - RStudio addin for drag-and-drop creation of Shiny apps, dashboards, and modules.

Modularization

  • tidymodules - An object-oriented approach to Shiny modules.
  • supreme - Structure Shiny applications developed with modules.
  • packer - An opinionated framework for using JavaScript with R.
  • box - Organize code into hierarchical, composable, reusable modules, to use across projects.
  • many - Use multiple directories to build R packages.
  • component - Create components for Shiny, inspired by Vue.js.
  • gargoyle - An event-based mechanism for Shiny, providing lighter alternatives to standard reactive objects.
  • shiny.destroy - Create destroyable modules in Shiny, allowing dynamic creation and removal of module instances.

Debugging

  • reactlog - Visual debugger for Shiny reactivity.
  • shinyobjects - Access reactive data interactively to help debug reactive data frames and load assigned objects into local environment.
  • shinyStep - Shiny modules for user-editable R functions with an Ace code editor, R console, and step debugger.
  • flow - Visualize code flow and dependencies, including dependencies between Shiny app modules.

Testing

Profiling

  • profvis - Interactive visualizations for profiling R code. Profiling Shiny apps.
  • shiny.benchmark - Measure and compare the performance of different versions of a Shiny application.
  • shiny.info - Displays simple diagnostic information of the Shiny project in the user interface of the app.
  • shiny.tictoc - Measure Shiny app performance in the browser.

Scaling

  • promises - Promise-based asynchronous programming for R. Using promises with Shiny.
  • shinyParallel - Run Shiny applications in a multi-session mode.
  • FutureManager - Background processes for long-running operations in Shiny applications.
  • shiny.worker - Delegate heavy computation tasks to a separate process in a Shiny application.
  • ipc - Tools for message passing between processes, with Shiny-specific features for async progress bars and reactive value updates from futures.

Monitoring and Analytics

  • shiny.telemetry - Track events occurring on a user session and stores them in a local or remote database.
  • shinymetrics - Track shiny applications with Shinymetrics, providing analytics and telemetry for Shiny applications.
  • titan - Prometheus monitoring for Shiny applications, plumber APIs, and other R web services.
  • openmetrics - An opinionated Prometheus client for R conforming to the OpenMetrics standard.
  • pRometheus - A Prometheus client library for R, Plumber, and Shiny.
  • shinylogs - Record everything that happens in a Shiny application, including inputs, outputs, errors, and session information.
  • AzureAppInsights - Include Azure Application Insights telemetry in Shiny apps.

Miscellaneous

Not necessarily an R package, but it helps.

UI Customization

  • Bootstrap Live Customizer - Customize Bootswatch themes (Bootstrap 3) to create your own Bootstrap themes.
  • google-webfonts-helper - A hassle-free way to self-hosted Google Fonts, useful for air-gapped environments.
  • shinyfullscreen - Display HTML elements on full screen using 'screenfull.js'.
  • shinybrowser - Find out information about a user's web browser in Shiny.
  • shinytitle - Update the browser window title dynamically in a Shiny session.
  • a11yShiny - Accessibility-enhanced replacements for popular Shiny UI functions.
  • shinyseo - Inject SEO, Open Graph, Twitter, site verification, and schema.org metadata into Shiny apps.
  • favawesome - Use Font Awesome Icons as Shiny favicons.
  • metathis - Add HTML metadata tags for Shiny apps and R Markdown documents.
  • hypothesis - Add, share, and manage hypothes.is annotations in Shiny apps and R Markdown documents.

Dependency Resolution

  • renv - Create isolated, portable, and reproducible environments for R projects.
  • packrat - Parse R package dependencies of Shiny apps with packrat::appDependencies.
  • sysreqsdb - SystemRequirements mappings for R packages.
  • shinyapps-package-dependencies - A collection of bash scripts that install system dependencies for R packages.

Editor Extensions

  • shiny-vscode - VS Code extension to run Shiny apps (in R and Python) and create or save Shinylive links.
  • ShinyUiEditor - A visual tool for building the UI portion of a Shiny application that generates clean and human-readable code.
  • shinysnip - Simple Shiny code snippets generator in VS Code.
  • textmate.rstheme - A light theme for VS Code inspired by the TextMate (default) theme in RStudio IDE.

Books

Videos / Screencasts

  • Shiny Developer Series - Interviews with practitioners & developers of Shiny and the broader ecosystem of Shiny packages, plus occasional live streams of Shiny app development in action.

Shiny for Python

Python - Theming

Python - UI Components

  • py-htmltools - Tools for creating, manipulating, and writing HTML from Python.
  • py-faicons - An interface to Font Awesome for use in Shiny for Python.
  • py-shinywidgets - Render ipywidgets inside a Shiny app.
  • py-shiny-validate - Input validation for Shiny for Python applications.
  • shinymedia - UI controls for recording video clips and playing audio media.
  • py_shiny_semantic - Create rich web applications in PyShiny using styles and components from Fomantic UI.

Python - Chat

Python - Table

  • great-tables - Create styled display tables in Python.
  • gt-extras - Additional helper functions for enhancing great-tables tables.
  • itables - Display Pandas and Polars data frames as interactive DataTables that you can sort, paginate, scroll, and filter.
  • reactable-py - Interactive data tables for Python, port of the R package reactable.

Python - Frameworks

  • Tapyr - Shiny for Python application template.

Python - Deploy

  • py-shinylive - Export Shiny applications as Shinylive applications.
  • rsconnect-python - CLI for interacting with and deploying to Posit Connect.

Python - Persistent Data Storage

  • pins-python - Publish data, models, and other Python objects for sharing across projects and with colleagues.