Typst vs Quarto
Different problems. Quarto for reproducible reports with code execution. Typst for fast typesetting and papers. Plus: Quarto can output to Typst.
The TL;DR
- Typst: typesetting language. Like LaTeX but modern. For papers, theses, books.
- Quarto: reproducible publishing. Code chunks (R/Python/Julia) → multi-format output (HTML, PDF, Word). For reports, notebooks, dashboards.
- Together: Quarto can output to Typst (since 1.5). Best of both.
Feature comparison
| Feature | Typst | Quarto |
|---|---|---|
| Core purpose | Typesetting (LaTeX replacement) | Reproducible publishing |
| Code execution | No (use prepared figures) | Yes (R, Python, Julia, JS) |
| Output formats | PDF (native), SVG, PNG | HTML, PDF, Word, ePub, slides, books |
| Math typesetting | First-class, LaTeX-quality | Via LaTeX or Typst output |
| Compile speed (paper) | <1s | 1-30s depending on backend |
| Citation handling | BibTeX native, CSL styles | BibTeX, CSL styles |
| Best for | Papers, theses, books | Reports, notebooks, dashboards |
| Learning curve | Hours | Hours (more if integrating R/Python) |
The combined workflow
For data scientists writing papers with substantial computation:
- Write your analysis in Quarto (.qmd) with R or Python code chunks.
- Quarto runs the code, generates figures and tables.
- Quarto compiles to Typst (--to typst).
- Typst typesets the final PDF — fast, beautiful, journal-ready.
One source of truth. Reproducible re-runs. Modern typography. This combination is increasingly popular among researchers in stats, ML, and data science.
When Typst alone is enough
If your figures are produced by other tools (matplotlib output, ggplot, generated and saved to PDF/SVG), and you have your data in a paper-ready table format, Typst alone is simpler and faster than Quarto. The Quarto layer adds value when you want re-running code to update outputs.
When Quarto alone is enough
For HTML reports, dashboards, or book-style publications where Typst output isn't needed, Quarto-direct (with default LaTeX backend or HTML output) is the standard. Quarto's book and website project types are particularly strong.
TypeTeX is a free in-browser Typst editor. Combines well with Quarto: run analysis in Quarto locally, export to .typ, polish in TypeTeX. Or skip Quarto entirely if you just want fast paper-writing.
Try TypeTeX freeFrequently Asked Questions
Different core problems. Typst is a typesetting language — modern LaTeX replacement, focused on document layout and typography. Quarto is a reproducible publishing system — runs code (R, Python, Julia, Observable JS) inline and outputs HTML, PDF, Word, slides, books, and more. Quarto can output PDFs via Typst (since Quarto 1.5).
Quarto is right when: (1) your document includes code that produces results (figures, tables, computed values); (2) you need reproducibility — re-running the document re-executes all code; (3) you want one source for HTML web + PDF + Word output; (4) you're a data scientist / statistician using R or Python heavily.
Typst is right when: (1) you're writing a paper, thesis, or book where typography and layout matter; (2) you don't need code execution — you have figures and data already prepared; (3) you want maximum compile speed (Typst is 10x faster than LaTeX, much faster than Quarto's pipeline); (4) you want simpler syntax than LaTeX without giving up control.
Yes, since Quarto 1.5. Use --to typst (or format: typst in YAML). Quarto compiles your .qmd source to Typst, then Typst compiles to PDF. This combines Quarto's code execution with Typst's typography. Output is identical to native Typst, with the added benefit of inline code execution.
Yes. Quarto is built by the same team (Posit / RStudio) as the modernized successor to R Markdown. Same .Rmd-style code chunks, expanded language support (Python, Julia, JS), better cross-format output, and active development. R Markdown is in maintenance mode; Quarto is the future.
Yes. Quarto can output to PDF via LaTeX or Typst. You can structure a Quarto document to match conference templates (NeurIPS, IEEE, ACM). The conference cares about the rendered PDF, not the source. Quarto is especially useful for papers with substantial computational results — re-running a single command updates all figures.
Typst direct: fastest (sub-second compiles). Quarto with Typst output: still fast (Quarto's Pandoc layer adds ~1-2s). Quarto with LaTeX output: slowest (Pandoc + LaTeX + bibtex + LaTeX adds 10-30s for non-trivial documents). For iterative writing, Typst direct wins.
Sort of. Quarto's .qmd is its own format (markdown + code chunks); .typ is Typst's. They don't directly share. But Quarto can output to .typ format, and you can edit the resulting .typ in Typst-native tools after. Practical workflow: write+experiment in Quarto, finalize in Typst if needed.
If you're a researcher who writes papers with code-driven figures: learn both. Use Quarto for the analysis-driven sections (notebooks → reports) and Typst for the final paper writing. If you don't write code-heavy reports: Typst alone is enough. If you write report after report from R/Python analyses: Quarto-first, Typst as backend.