rmarkdown v1.17

Dynamic Documents for R

Convert R Markdown documents into a variety of formats.



Build Status Downloads from the RStudio CRAN mirror

The rmarkdown package helps you create dynamic analysis documents that combine code, rendered output (such as figures), and prose. You bring your data, code, and ideas, and R Markdown renders your content into a polished document that can be used to:

The rmarkddown hex sticker

  • Do data science interactively within the RStudio IDE,

  • Reproduce your analyses,

  • Collaborate and share code with others, and

  • Communicate your results with others.

R Markdown documents can be rendered to many output formats including HTML documents, PDFs, Word files, slideshows, and more, allowing you to focus on the content while R Markdown takes care of your presentation.


The easiest way to install the rmarkdown package is from within the RStudio IDE, but you don't need to explicitly install it or load it, as RStudio automatically does both when needed. A recent version of Pandoc (>= 1.12.3) is also required; RStudio also automatically includes this too so you do not need to download Pandoc if you plan to use rmarkdown from the RStudio IDE.

If you want to use the rmarkdown package outside of RStudio, you can install the package from CRAN as follows:


If you want to use the development version of the rmarkdown package (either with or without RStudio), you can install the package from GitHub via the remotes package:


If not using the RStudio IDE, you'll need to install a recent version of Pandoc (>= 1.12.3); see the Pandoc installation instructions for help.


The easiest way to make a new R Markdown document is from within RStudio. Go to File > New File > R Markdown. From the new file wizard, you may:

  • Provide a document title (optional but recommended),
  • Provide an author name (optional but recommended),
  • Select a default output format- HTML is the recommended format for authoring, and you can switch the output format anytime (required),
  • Click OK (required).

Once inside your new .Rmd file, you should see some boilerplate text that includes code chunks. Use the "Knit" button in the RStudio IDE to render the file and preview the output with a single click or use the keyboard shortcut Cmd/Ctrl + Shift + K.

You can also delete all the text below the YAML frontmatter and fill in your own .Rmd by:

  • Adding code chunks (keyboard shortcut: Ctrl + Alt + I; OS X: Cmd + Option + I),
  • Writing prose with Markdown formatting, and
  • Running each code chunk interactively by clicking the The run button icon within RStudio.

You can also click "Knit to HTML" again to render the full document with all code chunks. For more help getting started in R Markdown, please see the R Markdown website or use the "Get Started" links at the top of this page.

Getting help

There are two main places to get help:

  1. The RStudio community is a friendly place to ask any questions about rmarkdown and the R Markdown family of packages.

  2. Stack Overflow is a great source of answers to common rmarkdown questions. It is also a great place to get help, once you have created a reproducible example that illustrates your problem.

Functions in rmarkdown

Name Description
html_notebook Convert to an HTML notebook
latex-dependencies Provide common LaTeX dependencies
knitr_options Knitr options for an output format
knit_params_ask Run a shiny application asking for parameter configuration for the given document.
pandoc_options Pandoc options for an output format
latex_dependency Define a LaTeX package dependency
pandoc_path_arg Transform path for passing to pandoc
rmd_metadata R Markdown Metadata
relative_to Relative path utility function
powerpoint_presentation Convert to a PowerPoint presentation
html_document_base Base output format for HTML-based output formats
shiny_prerendered_chunk Add code to a shiny_prerendered context
includes Include content within output
draft Create a new document based on a template
ioslides_presentation Convert to an ioslides Presentation
pandoc_template Render a pandoc template.
output_format Define an R Markdown output format
output_metadata The output metadata object
word_document Convert to an MS Word document
render_supporting_files Render supporting files for an input document
pandoc_self_contained_html Create a self-contained HTML document using pandoc.
rmarkdown_format R Markdown input format definition
html_notebook_metadata Generate R Notebook Metadata
render_site Render multiple documents as a website
yaml_front_matter Parse the YAML front matter from a file
knitr_options_pdf Knitr options for a PDF output format
html_vignette Convert to an HTML vignette
html_notebook_output Generate R Notebook Output
odt_document Convert to an OpenDocument Text (ODT) document
navbar_html Create a navbar HTML file from a navbar definition
html_fragment Convert to an HTML fragment.
pdf_document Convert to a PDF/LaTeX document
slidy_presentation Convert to a slidy presentation
pandoc_convert Convert a document with pandoc
rtf_document Convert to an RTF document
knitr_options_html Knitr options for an HTML output format
pandoc_available Check pandoc availability and version
paged_table Create a table in HTML with support for paging rows and columns
md_document Convert to a markdown document
pandoc_args Functions for generating pandoc command line arguments
pandoc_exec Get the path of the pandoc executable
metadata The YAML metadata of the current R Markdown document
pandoc_citeproc_convert Convert a bibliograpy file
resolve_output_format Resolve the output format for an R Markdown document
tufte_handout Tufte handout format (PDF)
parse_html_notebook Parse an HTML Notebook
shiny_prerendered_clean Clean prerendered content for the specified Rmd input file
shiny_prerendered_server_start_code Get the server startup code for a shiny_prerendered server instance
site_resources Determine website resource files for a directory
run Run a Shiny document
rmarkdown-package R Markdown Document Conversion
render Render R Markdown
render_delayed Delay Rendering for an Expression
github_document Convert to GitHub Flavored Markdown
compile_notebook Compiling R scripts to a notebook
all_output_formats Determine all output formats for an R Markdown document
find_external_resources Find External Resource References
convert_ipynb Convert a Jupyter/IPython notebook to an R Markdown document
default_output_format Determine the default output format for an R Markdown document
html-dependencies Provide common HTML dependencies for R Markdown formats
beamer_presentation Convert to a Beamer presentation
html_document Convert to an HTML document
No Results!

Vignettes of rmarkdown

No Results!


Include our badge in your README