A shiny extension for server side file access
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
R using as.integer is sufficient already. this will avoid client code g… Jan 28, 2019
inst removed unnecessary comment Jan 28, 2019
man Add author Sep 29, 2018
.Rbuildignore Add travis Jun 28, 2015
.gitattributes Better language detection Apr 3, 2017
.gitignore use fs and tibble to address #87 Aug 23, 2018
.travis.yml Switch travis arch Jul 2, 2018
DESCRIPTION Submit to CRAN Nov 12, 2018
NAMESPACE Import observeEvent Nov 12, 2018
README.md Rstudio icons (#86) Aug 20, 2018
file_ext_parser.R dta, sav, and sas7bdat Jan 26, 2019
shinyFiles.Rproj Reindent to 2 space and cleanup Jul 2, 2018



Travis-CI Build Status CRAN_Release_Badge CRAN_Download_Badge

This package extends the functionality of shiny by providing an API for client side access to the server file system. As many shiny apps are run locally this is equivalent to accessing the filesystem of the users own computer, without the overhead of copying files to temporary locations that is tied to the use of fileInput().

The package can be installed from CRAN using install.packages('shinyFiles').


The package is designed to make it extremely easy to implement file system access. An example of implementing a file chooser would be:

In the ui.R file

    shinyFilesButton('files', label='File select', title='Please select a file', multiple=FALSE)

In the server.R file

shinyServer(function(input, output) {
    shinyFileChoose(input, 'files', root=c(root='.'), filetypes=c('', 'txt'))

It is equally simple to implement directly in your custom html file as it only requires a single <button> element. The equivalent of the above in raw html would be:

<button id="files" type="button" class="shinyFiles btn" data-title="Please select a file" data-selecttype="single">
    File select

For an overview of all the different modules try the shinyFilesExample() function in the package. It gives an overview of all the necessary code, along with descriptions and working examples.


  • The file icons used in the file system navigator are taken from FatCows Farm-Fresh Web Icons (http://www.fatcow.com/free-icons)
  • RStudio is a trademark of RStudio, Inc. File icons used by permission of RStudio, Inc.