What is Typst? #
- is a markup language (description of document layout in code), which also supports styling, scripting and context
- a compiler that converts markup input into output formats
- A service (you can use it, you don’t have to use it), which offers functions for organizations.
Why should I use Typst? #
Typst is simple #
So far, the only real professional alternative to Typst was the markup language LaTeX, which was a real option. Pandoc is a LaTeX compiler often used under the Linux operating system (converts LaTeX-based input data into output formats). Using the two compilers, the properties can be compared in a practical way. Typst is much easier to learn and use compared to LaTeX. I wrote my master’s thesis in 2012 with LaTeX. If I had had a simpler alternative back then, I would have saved a lot of time and nerves.
| Property | Typst | Pandoc |
|---|---|---|
| Philosophy | Modern, fast and intuitive; replacement for LaTeX with simple syntax. | Universal document converter; uses LaTeX for PDF output. |
| Target audience | Users who want LaTeX-like results without LaTeX complexity. | Users who need flexibility (e.g. Markdown → PDF, Word, HTML). |
| Markdown support | Native Markdown support with Typst-specific extensions. | Standard Markdown + Pandoc extensions (e.g. tables, quotes, math). |
| Workflow | Direct: typst compile input.md output.pdf |
Indirect: pandoc input.md -o output.pdf (uses LaTeX as backend). |
| Dependencies | Typst (no LaTeX required). | Pandoc + LaTeX distribution (e.g. texlive). |
| Output quality (standard) | Excellent – modern typography and good presets. | Good – depends on the LaTeX template (e.g. eisvogel, default). |
| Customization options | High – simple syntax for layouts, but less granular than LaTeX. | Very high – full LaTeX power, but requires LaTeX knowledge. |
| Fonts & Unicode | Great – supports Unicode out of the box. | Good – depends on the LaTeX engine (xelatex or lualatex for Unicode). |
| Speed | Very fast – compiles in milliseconds. | Moderate – depends on LaTeX compilation. |
| Compilation time | Almost instant for small documents. | Slower (LaTeX is slow for large documents). |
| Best use | Fast PDFs from Markdown, modern documents, simple syntax. | Conversion between many formats, academic writing with citations. |
| Disadvantages | Smaller ecosystem (fewer templates/packages), less mature than LaTeX. | Requires LaTeX (slow), LaTeX knowledge for advanced customizations. |
| Example command | typst compile input.md output.pdf |
pandoc input.md -o output.pdf --pdf-engine=xelatex |
| Typical templates | Simple, modern templates. | LaTeX templates such as eisvogel, default, or custom templates. |
| Learning curve | Low – easier than LaTeX, but not as easy as pure Markdown. | Medium – Markdown is easy, but LaTeX customizations require effort. |
| Suitability for beginners | Good if you have no LaTeX experience. | Medium – Markdown is easy, but LaTeX requires familiarization. |
| Suitability for professionals | Good for simple to medium-complex documents. | Ideal for complex documents with many conversion requirements. |
There are many free templates #
In the Typst Universe many free
- Document templates
- Office templates
- Presentation templates
- Flyer templates
- Visualization templates
- Book templates
are offered.
There are many happy users #
According to the website, there are satisfied users in over 3500 universities/labs and over 1000 companies.
Typst is particularly popular among data scientists: Joseph Barbier explains in Typst in Production: Turning Data Into Deliverables | Typst Meetup why he uses Typst.
What does a Typst file look like? #
Typst expects markup file(s) as input data.
The easiest way is to get a first impression using the example in the Typst Playground.
The syntax of Typst is relatively simple.
The example below shows the use of formulas.

Which output formats does Typst support? #
The Typst compiler supports the following output formats:
How can I customize the layout? #
The page configuration guide describes how
- you can build a page consisting of header, body, footer and page numbers and
- how you can customize columns.
You can also customize the layout of tables.
It is also recommended to look at the accessibility guide: This describes how output files can be used and understood by as many people as possible.
The guide for LaTeX users is interesting for those who want to switch from LaTeX → Typst markup language.
How can I install Typst? #
The installation is easiest via package manager:
- Linux:
- Ubuntu:
sudo snap install typst
- Ubuntu:
- MacOS:
brew install typst - Windows:
winget install --id Typst.Typst