What is Quarto and what is it used for?
Updated
Quarto is an open-source scientific and technical publishing system for turning source text and code into finished documents. You write in Jupyter notebooks or plain-text Markdown in your preferred editor, and Quarto renders the result as articles, presentations, dashboards, websites, blogs, or books in HTML, PDF, MS Word, ePub, and other formats. It is a good fit if you already work in Python, R, Julia, or JavaScript/Observable and want reproducible output from the same file that contains your analysis.
What Quarto actually does
Quarto sits between your writing and your final output. The input is a Markdown or notebook file that mixes prose with executable code blocks. Quarto runs the code, captures the results (tables, plots, numbers), and produces a formatted document where the text and results stay in sync.
The site describes it as a multi-language, next-generation version of R Markdown from Posit. Like R Markdown, Quarto uses knitr to execute R code, so most existing .Rmd files render without modification.
Supported languages
| Language | How Quarto executes it |
|---|---|
| Python | Jupyter engine |
| R | knitr |
| Julia | julia engine via QuartoNotebookRunner.jl, or the jupyter engine using the IJulia kernel |
| Observable JS | Native support |
You can author in a traditional notebook UI or in a plain-text Markdown representation of a notebook — the choice does not change the output pipeline.
What you can produce
Quarto targets a wide range of publication types from the same authoring approach:
- Articles and reports — reproducible, production-quality documents
- Presentations — slide decks
- Dashboards — data displays
- Websites and blogs — multi-page sites
- Books — long-form publications
Output formats include HTML, PDF, MS Word, ePub, and more. For organizational sharing, Quarto can publish to Posit Connect, Confluence, or other publishing systems.
Authoring features
Quarto uses Pandoc Markdown, which covers the things technical writers usually need:
- Equations
- Citations
- Cross-references
- Figure panels
- Callouts
- Advanced layout
A minimal document shows the pattern — YAML front matter for metadata and format options, then prose and code:
---
title: "ggplot2 demo"
author: "Norah Jones"
date: "5/22/2021"
format:
html:
fig-width: 8
fig-height: 4
code-fold: true
---
## Air Quality
@fig-airquality further explores the impact of temperature on ozone level.
```{r}
#| label: fig-airquality
#| fig-cap: "Temperature and ozone level."
#| warning: false
library(ggplot2)
ggplot(airquality, aes(Temp, Ozone)) +
geom_point() +
geom_smooth(method = "loess")
The `#|` lines are cell options: they label the figure so it can be cross-referenced, attach a caption, and suppress warnings. The same structure works for Julia, with an `engine: julia` setting in the front matter and `{julia}` code blocks.
## Who it is for
Quarto suits people who need documents where the analysis and the write-up live in one reproducible file:
- **Data scientists and analysts** who want reports that regenerate when data or code changes
- **Researchers** who need citations, equations, and cross-references alongside computation
- **Technical writers and educators** producing books, course sites, or blogs with embedded code
- **Teams** that need to publish consistent output to a shared platform
If your work is purely prose with no code, a standard Markdown editor or static site generator may be simpler. Quarto's value comes from executing code and keeping results reproducible.
## How to get started
The site's own path is: Overview → Get Started → Guide, with Extensions, Reference, Gallery, Blog, and Help as supporting sections. There is also a FAQ and a place to report bugs or ask questions. Start with the Get Started page for your language, render the sample document, then move to the Guide for the format you need.