carta

A universal document converter in Rust. Read one markup format, render it back out in another. Fully compatible with pandoc.

cargo install carta

Get startedBrowse formats

Fast & lightweight

Carta is multiple orders-of-magnitude faster than pandoc, while being a lot smaller.

  1. commonmark → json1 MB22.8× faster
    carta23.76 ms
    pandoc542.03 ms
  2. html → json1 MB46.4× faster
    carta29.92 ms
    pandoc1387.98 ms
  3. json → html1 MB16.6× faster
    carta6.82 ms
    pandoc112.94 ms
  4. json → latex1 MB13.9× faster
    carta7.46 ms
    pandoc103.67 ms

Binary size: 8.5 MB against 179.8 MB (21× smaller). Peak memory: 5–24× less.

Each row is scaled to itself, so bar length reads as the speedup; rows do not share a scale. Measured 2026-07-27 on Apple M1 Pro (10 cores), 16 GB RAM, macOS 26.5 (arm64): carta 0.0.8 against pandoc 3.10, driven by hyperfine 1.20.0 (warmup 3, 12 runs). Your numbers will differ.

32 formats supported

This is a list of all formats carta supports today. The compatibility page lists the full roadmap.

Markdown family

  • commonmark CommonMark read write
  • commonmark_x CommonMark-X read write
  • gfm GitHub-Flavored Markdown read write
  • markdown Pandoc Markdown read write
  • markdown_github GitHub Markdown, legacy read write
  • markdown_mmd MultiMarkdown read write
  • markdown_phpextra PHP Markdown Extra read write
  • markdown_strict Markdown strict read write

HTML & slides

  • beamer Beamer read write
  • html HTML read write
  • html4 HTML 4 read write
  • revealjs reveal.js read write

TeX & typesetting

  • latex LaTeX read write
  • typst Typst read write

Lightweight markup

  • asciidoc AsciiDoc read write
  • org Org mode read write
  • rst reStructuredText read write

Wikis

  • dokuwiki DokuWiki read write
  • jira Jira read write
  • mediawiki MediaWiki read write

roff

  • man man read write

Word processor, ebook & notebook

  • docx Word read write
  • epub EPUB read write
  • ipynb Jupyter Notebook read write
  • odt OpenDocument Text read write
  • rtf Rich Text Format read write

Data, interchange & terminal

  • csv CSV read write
  • json Pandoc JSON read write
  • native Native Pandoc AST read write
  • opml OPML read write
  • plain Plain text read write
  • tsv TSV read write

Configurable builds

Formats are selected at compile time through Cargo features. If you don't need all 32 formats, you can make carta even more lightweight.

cargo install carta --no-default-features --features cli,read-commonmark,write-html