Quarto — Reproducible Documents From One Source

Quarto renders Markdown with executable R and Python chunks to PDF, Word, HTML, or slides. Your figures regenerate from code — so the paper is the pipeline.

Official Site https://quarto.org
Category Writing
Pricing Free
Rating ★★★★★ (5/5)

What Quarto is

Quarto is an open-source publishing system from Posit, and the successor to R Markdown. A .qmd file is plain-text Markdown with embedded code chunks; rendering it executes the code and produces a finished document — a journal-formatted PDF, a Word file for co-authors, an HTML page, a slide deck, or an entire website — from that single source.

The idea it operationalises is that a research document should not contain numbers that were copied into it. In a Quarto manuscript the mean in your results paragraph, the figure below it, and the table beside it are all computed at render time from the data. Change the data and re-render, and the prose updates with the analysis. That closes the gap where most reproducibility failures actually live: not in the code, but in the manual transfer of results from the analysis into the write-up.

Why researchers use it

  • Figures and statistics regenerate on render — no stale numbers, no “which version of Figure 3 is this”, no copy-paste transcription errors.
  • One source, every output — the same file produces the submission PDF, the .docx your supervisor tracks changes in, and the HTML supplement.
  • Language-agnostic — R, Python, and Julia chunks in the same document, which matters for mixed-methods and mixed-team projects.
  • Real academic apparatus — citations from a .bib file, cross-references to figures and tables, footnotes, and callouts all work properly rather than approximately.
  • It builds websites and slides too — the same skills produce your paper, your teaching materials, and your project site.

Where it fits in a research workflow

Quarto sits at the join between analysis and writing, and it is the tool that removes the join. Upstream is your data and your environment (uv, conda, or renv); downstream is a submission, a supervisor, or a website.

It replaces the awkward middle: exporting figures to PNG, pasting them into Word, retyping means and confidence intervals, then doing it all again when a reviewer asks for a sensitivity analysis. Edit in RStudio, which bundles it, or VS Code with the Quarto extension; cite from a .bib file exported by Zotero; version the .qmd in GitHub where it diffs cleanly, which .docx and .ipynb do not. Underneath, Quarto uses Pandoc for conversion — so if your document has no code, Pandoc alone is the lighter tool.

Getting started

An afternoon to a rendered document with citations.

  1. Install Quarto. If you use RStudio it is already there; for VS Code, add the Quarto extension.
  2. Create a .qmd with one code chunk that makes a plot, and render it to HTML and then PDF. PDF needs a LaTeX distribution — Quarto can install a minimal one for you.
  3. Add a bibliography: line to the YAML header pointing at a .bib file, cite with [@key], and set csl: to your journal’s style. This is the point at which it becomes a manuscript tool rather than a notebook.
  4. The step people skip: pin the environment. A document whose figures regenerate is only reproducible if the packages that generate them are pinned — renv for R, a lockfile for Python. Without it you have automated the copy-paste and kept the drift.

Quarto vs the alternatives

AlternativeDoes it betterPick it if
PandocThe same conversion with less machineryThe document has no code to execute
JupyterInteractive, cell-by-cell explorationYou are figuring out the analysis, not writing it up
OverleafReal-time collaborative editing and journal LaTeX templatesCo-authors edit simultaneously in a browser
TeXstudio + LaTeXAbsolute typographic control and universal journal acceptanceThe venue demands LaTeX source and layout is exacting

Quarto’s value scales directly with how much of your document is computed. For a heavily analytical paper it is the best option available; for pure prose it is machinery without benefit.

Cost, licensing, and your data

Free and open source under the MIT licence, developed by Posit, which sells commercial products around the same ecosystem. The format is plain text and the engine is Pandoc, so the exit cost is genuinely low — a .qmd is a Markdown file with a YAML header.

Everything runs locally: no service, no account, no upload. That makes it appropriate for manuscripts containing sensitive material in a way that browser-based writing tools are not, and it is worth stating in a data-management plan if your analysis touches participant data. The dependency to plan for is LaTeX for PDF output, which Quarto can install in a minimal form.

The honest review

Strengths. Quarto is the most complete open pipeline for computational writing that exists. Cross-references, citations, multi-format output, journal templates, slides, and websites all work from one plain-text source with one command — and the reproducibility benefit is not theoretical. When a reviewer asks what happens if you exclude the outliers, the answer is one line changed and one re-render, with every number in the text updated. That is a different relationship with revision than most researchers have.

Limitations. Deep layout customisation eventually drops you into raw LaTeX or CSS anyway, so the abstraction leaks precisely where journal requirements are fussiest. Complex publisher templates often still need a final format-specific pass, which undercuts the one-source promise at the last mile. The R-flavoured parts of the ecosystem are more polished than the Python ones, a legacy of its R Markdown ancestry. Rendering is slow on documents with heavy computation, since every render re-runs everything unless you configure caching. And there is a real learning curve in the YAML header, where a great deal of behaviour is configured with limited discoverability.

Verdict. Adopt it if your paper contains figures or statistics produced by code — the elimination of copy-paste alone justifies it. Skip it for pure-prose writing, where LaTeX or Word is simpler, and skip it if your co-authors will not touch plain text. The condition that flips the answer is the proportion of your document that is computed.

When NOT to use this Do not mistake a re-rendering document for a reproducible one. Quarto guarantees that your figures come from your code; it guarantees nothing about the packages that code runs against. Without renv or a Python lockfile — and ideally a container — a .qmd that renders perfectly today can fail or, worse, produce quietly different numbers in two years. Pin the environment and commit the lockfile alongside the document.

Common questions

Is Quarto free?

Yes — free and open source under the MIT licence, from Posit. There is no paid tier and no account. PDF output needs a LaTeX distribution, which Quarto can install in a minimal form for you.

Should I use Quarto or R Markdown?

Quarto, if you are choosing now. It is the maintained successor, supports Python and Julia alongside R, works in RStudio, VS Code, and Jupyter, and the syntax is close enough that R Markdown knowledge transfers almost directly.

Can I submit a Quarto document to a journal?

You submit its output — a PDF or .docx, which Quarto produces. A growing set of publisher templates is built in. Where a journal demands LaTeX source, Quarto can emit .tex, though a complex template may need a final manual pass; check the requirement before committing to the format.