--- id: multimark version: "0.3.2" license: MIT AND BSD-2-Clause license_treatment: permissive maintenance: active --- # multimark — Python bindings to cmark: CommonMark parsing and rendering (HTML, LaTeX, man, XML) License: permissive · Maintenance: active · Downloads: 505.2K/mo ## What it is and what it does Multimark is a Python wrapper around cmark-gfm, the C reference implementation of CommonMark with GitHub Flavored Markdown extensions. It renders Markdown text to five different output formats—HTML, LaTeX, groff man, XML (AST), and normalized CommonMark—all from a single lightweight package with no system dependencies beyond Python 3.9+. The package is designed for convenience: it accepts named boolean keyword arguments like `smart=True` for typographic punctuation, `unsafe=True` to allow raw HTML passthrough, and `footnotes=True` to enable footnote syntax. It supports GFM extensions (table, strikethrough, autolink, tagfilter, tasklist) by name. Safe-by-default behavior means raw HTML is blocked unless explicitly enabled, and the API avoids opaque bitmasks in favor of readable options. Use it for: - Convert user-submitted Markdown to HTML for web display with built-in XSS protection via safe-by-default rendering. - Generate LaTeX or man-page documentation from Markdown source for offline distribution. - Parse and normalize Markdown with GitHub extensions (tables, strikethrough) for content processing pipelines. - Render Markdown with smart typography (curly quotes, em-dashes) for publication-quality output. - Extract Markdown structure as XML (AST) for programmatic analysis or transformation. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Converts Markdown to HTML, LaTeX, groff man, XML, or normalized CommonMark using cmark-gfm, with support for GitHub Flavored Markdown extensions. Yes, if you need to render Markdown to multiple formats or require GitHub Flavored Markdown support. The active maintenance, permissive dual license, and safe-by-default design make it a solid choice. Medium install friction is typical for compiled packages and not a barrier. The Beta status is worth noting if you require strict API stability guarantees. ## Install pip install multimark uv add multimark poetry add multimark ## Installing multimark Before you install: Medium install friction due to compiled wheels, but prebuilt binaries are available for Linux, macOS, and Windows on Python 3.9+. Active maintenance as of 2026-08-08 with recent release history. License in practice: Dual-licensed under MIT and BSD-2-Clause (the latter covering the vendored cmark-gfm library). Both are permissive; no restrictions on commercial or proprietary use. Quickstart: pip install multimark from multimark import markdown_to_html, markdown_to_latex html = markdown_to_html("**Hello**, *world*!") latex = markdown_to_latex("**Hello**, *world*!") Requires Python 3.9 or later; prebuilt wheels available for Linux, macOS, and Windows. Verify before relying: - Whether the 14% performance advantage over cmarkgfm holds across different input sizes and use patterns. - Stability guarantees or API compatibility policy given the Beta development status. ## Package facts - License: MIT AND BSD-2-Clause (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 505.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags markdown to html converter, commonmark parser python, markdown to latex renderer, gfm github flavored markdown, markdown to multiple formats, cmark bindings python, markdown processor, markdown-rendering, gfm-extensions, multi-format-output [View on SkillFed](https://skillfed.io/packages/multimark) · [View on PyPI](https://pypi.org/project/multimark/)