Typst
Open-source typesetting system
From Wikipedia, the free encyclopedia
Typst (/ˈtaɪpst/)[4] is an open-source typesetting system based on a markup language written in Rust.[5][6] The Typst compiler is free software and is distributed under the Apache License 2.0 license.[5][7][8][9]
| Typst | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Original authors | Martin Haug, Laurenz Mädje[1] | ||||||||||||||||
| Developer | Typst GmbH | ||||||||||||||||
| Initial release | March 21, 2023 | ||||||||||||||||
| Stable release | |||||||||||||||||
| Written in | Rust | ||||||||||||||||
| Platform | Cross-platform | ||||||||||||||||
| Type | Typesetting | ||||||||||||||||
| License | Apache-2.0 | ||||||||||||||||
| Website | typst | ||||||||||||||||
| Repository | github | ||||||||||||||||
| |||||||||||||||||
The system is designed for writing and formatting scientific texts and mathematical formulas. Typst supports simple formatting for common formatting applications, customizable functions, an integrated scripting language, and mathematical typesetting. It is designed to be an alternative to LaTeX.[5][10][11]
The compiler is developed by Typst GmbH,[12] which maintains and supports the software's development, and operates a proprietary[13] collaborative cloud-based editor, offering both free and paid services,[11] in a manner similar to Overleaf, which allows users to preview their work while writing and includes a collaboration feature.[14]
History
Typst was developed since 2019[5] and first published in 2022 by Laurenz Mädje and Martin Haug for their masters theses at Technische Universität Berlin.[15][16] In March 2023, the Typst compiler was released as open-source, and Typst simultaneously announced the beta version of its web app.[17] As of 2025, the app does not use the beta label anymore.
According to GitHub, Typst was the second fastest-growing programming language by percentage in 2025.[18]
Typesetting system
Typst is a markup language, similar to Markdown, "designed to be as powerful as LaTeX while being much easier to learn and use."[10] Its compiler is incremental for quick update of the document preview.[11][5]
Typst has three modes. By default, the user is in Markup mode, which can be used primarily for text. Math mode is applied to text enclosed between dollar signs ($) and is designed for writing mathematical formulas.[11][5] The scripting language is executed in code mode and marked with a hash symbol (#) in front of the command.[19] Typst uses dedicated syntax for common formatting elements such as headings, strong emphasis and emphasis, while markup without dedicated syntax is accessed using functions in code mode.[5]
Unlike LaTeX, there are no minimum requirements for the structure of a document. Furthermore, many features which need external packages in Latex such as a bibliography, are implemented natively in Typst.[11] Typst supports community-provided packages and templates, which are installed automatically when imports are declared.[5] Compared with LaTeX, Typst has relatively fewer specialized packages available.[5]
As of April 2026, Ijimai and JUTI are the only journals that accepts manuscripts written in Typst.[13][20][21]
Compatibility and converters
Typst has native document export for PDF, PNG and SVG formats, with PDF/A[5] and PDF/UA-1 output available.[22]
Typst documents are written in a text editor and compiled to produce output files such as PDFs. A language server has been developed for Typst that can be installed as a plug-in for text editors such as VS Code and Neovim, enabling users to compile Typst documents directly within the editor.[14][23] Typst has also been integrated into other software, notably Quarto,[24] and is supported as an input and output format in Pandoc.[5][25]
Zerodha adopted Typst for generating transactions records citing its ease of use and performance, transitioning from LuaLaTeX.[26] Scientists working on SciPy conference proceedings adopted Typst for PDF generation.[27]
Example
The example below shows the input to Typst and the corresponding output from the system: