Skip to content
gettalong edited this page Nov 2, 2012 · 40 revisions

There are many different implementations of the markdown parser. The following is intended to assist in choosing the implementation that works best for you.

Note that this is a list of libraries which implement a markdown parser. There may be various editors, websites, command line scripts, and other tools which use any one of these implementations behind the scenes. This list does not include those tools.

Name Language Output Formats Extras? Description
markdown.pl Perl (X)HTML No The original implementation.
MultiMarkdown Perl HTML, PDF, OPML, OpenDocument Yes A superset of Markdown.
text-markdown Perl (X)HTML Yes The Perl Text::Markdown CPAN module.
markdown Perl 6 (X)HTML ? A Perl 6 implementation of Markdown.
PHP Markdown PHP (X)HTML No A PHP implementation.
PHP Markdown Extra PHP (X)HTML Yes A superset of Markdown in PHP.
markdown-oo-php PHP (X)HTML Yes An object-oriented PHP library.
PHP-Sundown PHP (X)HTML Yes PHP Bindings to Sundown.
Python-Markdown Python 2 & 3 (X)HTML Yes A Python implementation with extensions.
Python-Markdown2 Python (X)HTML Yes A direct port of markdown.pl to Python.
Misaka Python 2 & 3 (X)HTML Yes A Python 2 and 3 binding for Sundown.
Python-Discount Python (X)HTML Yes A Python binding to Discount.
BlueCloth Ruby (X)HTML Yes A Ruby binding to Discount.
BlueFeather Ruby ? ? A pure Ruby implementation.
ffi-sundown Ruby (X)HTML ? A Ruby FFI binding to Sundown.
kramdown Ruby (X)HTML, LaTeX, kramdown's superset of Markdown, PDF via Latex Yes A pure Ruby superset implementation. Also accepts input in HTML.
Maruku Ruby (X)HTML Yes A pure Ruby superset implementation.
RDiscount Ruby (X)HTML Yes A Ruby binding to Discount.
Redcarpet Ruby (X)HTML Yes A Ruby binding to Sundown.
Discount C (X)HTML Yes A pure C implementation with extras.
libpandoc C many (see Pandoc) Yes A C binding to Pandoc.
peg-markdown C (X)HTML Yes A C implementation using a PEG Grammar.
peg-multimarkdown & fork C (X)HTML Yes A C implementation of MultiMarkdown.
Sundown C (X)HTML Yes A pure C implementation with extensions.
MarkdownSharp C# (X)HTML ? A C# implementation used by Stack Overflow.
MoonShine C# (.NET) (X)HTML Yes A .NET binding to Sundown.
Sundown.net C# (.NET) (X)HTML Yes A .NET binding to Sundown.
Sundown HS Haskell (X)HTML Yes A Haskell binding to Sundown.
Pandoc Haskell (X)HTML, Slidy, Slideous, S5, DZSlides, docx, ODT, OpenDocument, EPUB, DocBook, GNU TexInfo, Groff man pages, LaTeX, ConTeXt, LaTeX Beamer slides, PDF via LaTeX, Markdown, reStructuredText, AsciiDoc, MediaWiki markup, Emacs Org-Mode, Textile Yes A superset Haskell implementation. Also accepts input in reStructuredText, textile, HTML, DocBook, or LaTeX.
node-discount Node.js (X)HTML Yes Node.js bindings to Discount.
RoboSkirt Node.js (X)HTML Yes Node.js bindings to Sundown.
node-markdown Node.js (X)HTML No Node.js wrapper for Showdown.
node-multimarkdown Node.js (X)HTML Yes Node.js wrapper for Multimarkdown.
texts.js Node.js/JavaScript HTML5, XeLaTeX and Pandoc JSON ? A Markdown subset only.
Showdown JavaScript (X)HTML No A pure JavaScript implementation.
markdown-js JavaScript (X)HTML No A pure JavaScript implementation.
marked JavaScript (X)HTML Yes A pure JavaScript implementation.
MarkdownJ Java (X)HTML No A pure Java implementation.
markdown4j Java (X)HTML Yes A MarkdownJ fork with extensions.
pegdown Java (X)HTML Yes A pure Java PEG Grammar.
MarkdownPapers Java AST ? A JAVACC grammar definition that produces an abstract syntax tree (AST).
Txtmark Java (X)HTML Yes A pure Java implementation.
markdown.lua Lua (X)HTML ? A pure Lua implementation.
Lunamark Lua HTML, dzslides, Docbook, ConTeXt, LaTeX, and Groff man Yes A PEG grammar in Lua.
lua-discount Lua (X)HTML Yes Lua bindings to Discount.
Knockoff Scala (X)HTML No? A pure Scala implementation.
Actuarius Scala (X)HTML No? A pure Scala implementation.
Lowdown Chicken Scheme SXML No? A pure Chicken Sceme implementation.
markdown.bash Bash (X)HTML No A UNIX bash script using mostly Sed.
markdown-clj Clojure (X)HTML ? Compiles to both Clojure and ClojureScript.
md2html.awk Awk (X)HTML ? An Awk implementation.
Blackfriday Go HTML & LaTeX No A pure Go implementation.
Goskirt Go (X)HTML Yes Go bindings to Sundown.
upskirt.go Go (X)HTML Yes Simplified Go bindings to Sundown.
Clone this wiki locally