Open Source Software Of The Year 👑 Typst

Typst is a compiler, that translates Typst markup to PDFs. It solves the problem of dynamically producing PDFs. The Typst markup embeds a turing complete functional script language. Think about php, where you can switch output context and script context or think about Markdown bundled with a script language.
If you ever needed to create PDFs dynamically you previously had 4 options:
-
Use a low level PDF library where you basically draw boxes, load fonts, calculate text widths etc. Usable for small documents, like address labels, coupons. Not fun. Template development is time consuming.
-
Use a headless browser, like chromium and the "print to pdf" feature. With html + css you can get great results. It's heavy on resources and rather slow. Since browser support for CSS Paged Media is still wonky -- and probably will not become better for next 100 years -- you'll be missing some features for producing something like a book.
-
Use prince xml. It's a very good pdf processor, based on html templates. It's fast and produces very good results. The creators are geniuses. Unfortunately it's expensive. Really really really expensive.
-
Don't produce PDFs at all. Who needs it anyways? This is my favourite solution. Avoid the task by all means, send Jonas ahead. Look at how paypal delivers your bank statements.
When I first looked at Typst, I was rather sceptical. Learn a new markup, a better LaTeX, mehhh. Why not stick with html? Last year, I had a second look and it clicked. Install the Tinymist VSCode extension and the developer experience is so so good! Template creation is actual fun. It's much better than to work with html tags. The compiler is fast (in my tests about as fast as prince xml).
Martin Haug and Laurenz Mädje started working on the Typst compiler in 2019 while studying at TU Berlin. They wanted to create a better and easier typesetting system than the academic standard that is LaTeX. They delivered. By chance, they created the ultimative PDF processor.
Typst was good already last year. This October they added that one missing piece: since Version 0.14.0 it supports creation with the PDF/A-1b profile -- and many more!
show me the code
If you are keen on looking at some example code, look here
It's a template for a 12 page monthly calendar for 2026. perfect as a gift for your family and friends.
project on github: https://github.com/cwmoss/typst-calendar/
funny stuff ppl do with typst
gfx design: https://www.youtube.com/watch?v=3vLjwWg0KpQ
3d renderer: https://www.youtube.com/watch?v=ocsR-o7auak
simple letter: https://www.youtube.com/watch?v=E7Xfocy40wg
tl;dr
Typst solves the problem of programmatically creating PDFs. The world is better now.