This is an automated archive made by the Lemmit Bot.
The original was posted on /r/opensource by /u/Spaaze on 2026-07-27 18:29:56+00:00.
Over the past weeks, I’ve been working on carta, a fast and lightweight reimplementation of pandoc in Rust. It’s a universal document converter that takes in some markup and returns it another format.
Pandoc is great. It’s decades of jgm’s experience embedded into an amazing piece of software. Yet, I’ve had two specific issues with it for a while: It’s huge (around 180 MB for an Apple Silicon build), and it’s relatively slow, especially when you want to convert multiple documents. Carta solves both of these. The compiled binary is around 20x smaller, while being up to 45x faster.
Under the hood, it works very similar to pandoc: It parses documents into an internal AST, which in turn can be written to another format. This effectively gives reader_formats ∪ writer_formats possible conversions.
The most common formats and features are already implemented, such as the Markdown family, DOCX, TeX, syntax highlighting, JSON filters (fully compatible with pandoc), standalone mode, and others. A lot is still missing however, for example PDF output and Lua filters. A full breakdown can be seen here.
Of course, it’s open source and licensed as MIT-or-Apache-2.0.
Would love to hear feedback! :)
GitHub: github.com/mfkrause/carta