๐ carta
A universal document converter written in Rust that reads a markup format and renders it back out in another. A performant and lightweight reimplementation of pandoc.
[!WARNING] carta is a prototype under active development. Only a small slice of pandoc's formats is implemented today, the API is unstable, and it is not yet ready for production use.
Goals
- Performance and a smaller binary than pandoc.
- Feature parity with pandoc across all formats and extensions.
- A developer-friendly library, with the CLI as a thin shell over it.
Status
This tracks carta's status of all formats pandoc supports. See STATUS.md for a detailed per-format breakdown including extension coverage, and the full feature backlog.
โ usable โ basically done; any remaining parity gaps are minor and unlikely to affect regular use ยท ๐ง in development โ large parity gaps or breaking issues (e.g. panics), not recommended for use yet ยท โ not started ยท โ not applicable (pandoc has no such direction)
Markdown family
| Format | Reader | Writer |
|---|---|---|
CommonMark (commonmark) |
โ | โ |
CommonMark-X (commonmark_x) |
โ | โ |
GitHub-Flavored Markdown (gfm) |
โ | โ |
Pandoc Markdown (markdown) |
โ | โ |
Markdown strict (markdown_strict) |
โ | โ |
MultiMarkdown (markdown_mmd) |
โ | โ |
PHP Markdown Extra (markdown_phpextra) |
โ | โ |
GitHub Markdown, legacy (markdown_github) |
โ | โ |
Djot (djot) |
โ | โ |
Markua (markua) |
โ | โ |
HTML & slides
| Format | Reader | Writer |
|---|---|---|
HTML (html, html5, html4) |
โ | โ |
Chunked HTML (chunkedhtml) |
โ | โ |
reveal.js (revealjs) |
โ | โ |
Beamer (beamer) |
โ | โ |
Slidy (slidy) |
โ | โ |
S5 (s5) |
โ | โ |
Slideous (slideous) |
โ | โ |
DZSlides (dzslides) |
โ | โ |
PowerPoint (pptx) |
โ | โ |
TeX & typesetting
| Format | Reader | Writer |
|---|---|---|
LaTeX (latex) |
โ | โ |
Typst (typst) |
โ | โ |
ConTeXt (context) |
โ | โ |
Texinfo (texinfo) |
โ | โ |
PDF (pdf) |
โ | โ |
Lightweight markup
| Format | Reader | Writer |
|---|---|---|
reStructuredText (rst) |
โ | โ |
AsciiDoc (asciidoc) |
โ | โ |
AsciiDoc legacy (asciidoc_legacy) |
โ | โ |
Asciidoctor (asciidoctor) |
โ | โ |
Org mode (org) |
โ | โ |
Textile (textile) |
โ | โ |
Muse (muse) |
โ | โ |
Haddock (haddock) |
โ | โ |
txt2tags (t2t) |
โ | โ |
Perl POD (pod) |
โ | โ |
Wikis
| Format | Reader | Writer |
|---|---|---|
MediaWiki (mediawiki) |
โ | โ |
DokuWiki (dokuwiki) |
โ | โ |
Jira (jira) |
โ | โ |
Creole (creole) |
โ | โ |
TikiWiki (tikiwiki) |
โ | โ |
TWiki (twiki) |
โ | โ |
Vimwiki (vimwiki) |
โ | โ |
XWiki (xwiki) |
โ | โ |
ZimWiki (zimwiki) |
โ | โ |
roff
| Format | Reader | Writer |
|---|---|---|
man (man) |
โ | โ |
mdoc (mdoc) |
โ | โ |
ms (ms) |
โ | โ |
vimdoc (vimdoc) |
โ | โ |
Word processor, ebook & notebook
| Format | Reader | Writer |
|---|---|---|
Word (docx) |
โ | โ |
OpenDocument Text (odt) |
โ | โ |
OpenDocument (opendocument) |
โ | โ |
EPUB (epub, epub2, epub3) |
โ | โ |
Jupyter Notebook (ipynb) |
โ | ๐ง |
FictionBook2 (fb2) |
โ | โ |
InDesign ICML (icml) |
โ | โ |
Rich Text Format (rtf) |
โ | โ |
Spreadsheet (xlsx) |
โ | โ |
XML & publishing
| Format | Reader | Writer |
|---|---|---|
DocBook (docbook, docbook4, docbook5) |
โ | โ |
JATS (jats, jats_archiving, jats_articleauthoring, jats_publishing) |
โ | โ |
BITS (bits) |
โ | โ |
TEI (tei) |
โ | โ |
Generic XML (xml) |
โ | โ |
Bibliography
| Format | Reader | Writer |
|---|---|---|
BibTeX (bibtex) |
โ | โ |
BibLaTeX (biblatex) |
โ | โ |
CSL JSON (csljson) |
โ | โ |
RIS (ris) |
โ | โ |
EndNote XML (endnotexml) |
โ | โ |
Data, interchange & terminal
| Format | Reader | Writer |
|---|---|---|
Pandoc JSON (json) |
โ | โ |
Native Pandoc AST (native) |
โ | โ |
OPML (opml) |
โ | โ |
CSV (csv) |
โ | โ |
TSV (tsv) |
โ | โ |
Plain text (plain) |
โ | โ |
BBCode (bbcode, bbcode_phpbb, bbcode_steam, โฆ) |
โ | โ |
ANSI terminal (ansi) |
โ | โ |
Installation
Prebuilt binaries
Download the archive for your platform from the latest release. Builds are provided for Linux (x86-64 gnu and static musl, arm64), macOS (Intel and Apple Silicon), and Windows (x86-64).
From crates.io
This installs the carta binary. For a smaller build, pass --no-default-features with only the formats you need, e.g. --features cli,read-commonmark,write-html.
From source
# binary at target/release/carta
Usage
Command line
# CommonMark to HTML
# read from stdin, write to stdout
|
# inspect the document model
# standalone document with a table of contents and numbered sections
# render HTML math with MathJax (or --katex)
# discover what this build supports
Library
use ;
let html = convert?;
You can select formats at compile time via per-direction features to make binaries even more lightweight for your individual needs.
Development
The workspace splits into carta-ast (the document model), carta-core (shared traits and options), carta-readers, carta-writers, and carta (the library facade, which also ships the command-line binary behind its cli feature).
License
Copyright ยฉ 2026 Maximilian Krause.
carta is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation. See LICENSE for the full text.