cmark
C library and command-line program that parses CommonMark Markdown into a syntax tree and renders it as HTML, man, LaTeX, CommonMark or XML.
cmark is the C reference implementation of CommonMark, the Markdown syntax that has a written specification. It is both a shared library, libcmark, and a command-line program. The library parses CommonMark into an abstract syntax tree, lets a program change the tree, and renders it as HTML, groff man, LaTeX, CommonMark or an XML form of the tree. It has no external dependencies and is built with cmake, or with make, which calls cmake. The README names wrapper libraries that let other languages call libcmark, among them Go, Ruby, Python, Lua and PHP.
Worth knowing
By default the library removes raw HTML and links that use the javascript, vbscript, data or file schemes. The unsafe option turns that off, and the README recommends an HTML sanitizer for that case.
Identity
- Status
- Active
- Maintainer
- John MacFarlane2
- Maintained by
- Individual2
- First release
- 20143
Rendering and deploy
- Install with
- make install (source)4
Releases
Adoption
Sources
- 2026-11-04: links, Written in, GitHub stars
api.github.com/repos/commonmark/cmark - 2026-11-04: Maintainer, Maintained by, License
github.com/commonmark/cmark/blob/master/COPYING - 2026-11-04: First release
api.github.com/repos/commonmark/cmark/commits/0.6 - 2026-11-04: License, License model, Install with, links
github.com/commonmark/cmark/blob/master/README.md - 2026-11-04: Current major version, Last release
api.github.com/repos/commonmark/cmark/releases/latest - 2026-11-04: Contributors
api.github.com/repos/commonmark/cmark/contributors