We are hiring!


R-CMD-check codecov cranlogs total

A minimalistic router for your Shiny apps.

Now it’s possible to recreate a state of your app, by providing a specific URL, like:

    route("<your_app_url>/main",  mainPageShinyUI),
    route("<your_app_url>/other", otherPageShinyUI)

Basic tutorial article is available on Appsilon’s blog.

Live demo

Source code

This library source code can be found on Appsilon’s Github: https://github.com/Appsilon/shiny.router

How to install?

It’s possible to install this library through CRAN


The most recent version you can get from this repo using remotes.


To install previous version you can run:

  remotes::install_github("Appsilon/shiny.router", ref = "0.1.0")


Visit examples directory for some complete samples. Here’s the basic usage:


root_page <- div(h2("Root page"))
other_page <- div(h3("Other page"))

router <- make_router(
  route("/", root_page),
  route("other", other_page)

ui <- fluidPage(
  title = "Router demo",

server <- function(input, output, session) {
  router$server(input, output, session)

shinyApp(ui, server)

How to contribute?

If you want to contribute to this project please submit a regular PR, once you’re done with new feature or bug fix.

Reporting a bug is also helpful - please use github issues and describe your problem as detailed as possible.

Changes in documentation

Documentation is rendered with pkgdown. Just run pkgdown::build_site() after editing documentation or README.md.


We used the latest versions of dependencies for this library, so please update your R environment before installation.

However, if you encounter any problems, try the following:

  1. Up-to-date R language environment
  2. Installing specific dependent libraries versions
  3. Missing shiny.semantic dependency - one of our examples uses one of our others libraries, so please install it as well, when running that example. Repository: shiny.semantic.

Future enhacements


Appsilon is the Full Service Certified RStudio Partner. Learn more at appsilon.com. Get in touch support+opensource@appsilon.com.