Parsers de Markdown

Lista de parsers o procesadores de Markdown

A continuación veremos qué es un parser de Markdown, así como la lista con los parsers de Markdown existentes, de modo que puedas escoger el que mejor se adapte a tus necesidades.

Qué es un parser de Markdown

Un procesador o parser de Markdown es un script o una herramienta encargada de transformar la sintaxis Markdown entrante en algún archivo de otro formato como por ejemplo HTML, RTF o PDF. Existen muchas implementaciones posibles para un parser de markdown.

Ten en cuenta también que existen muchas herramientas y editores de Markdown, así como aplicaciones que podrás usar mediante la línea de comandos de tu sistema operativo. Cada una de ellas usará algún parser de Markdown como los que ves en esta lista para transformar la sintaxis Markdown en código HTML o en archivos PDF o de muchos otros formatos.

Lista de parsers de Markdown

En esta lista puedes ver la lista con los parsers de Markdown más relevantes, junto con su descripción, el lenguaje en el que están programados, los posibles lenguajes o formatos de salida y si soportan o no algún elemento extra avanzado.

NombreLenguajeFormatos de salidaExtrasDescripción
md2html.awkAwk(X)HTML?Una implementación en Awk.
markdown.bashBash(X)HTMLNoUn script UNIX de bash que usa principalmente Sed.
DiscountC(X)HTMLUna implementación con extras creada únicamen en C.
HoedownC(X)HTMLUn fork de Sundown.
libpandocCmuchos (consultar Pandoc)Una versión en C de Pandoc.
peg-markdownC(X)HTMLUna implementación en C que usa PEG Grammar.
peg-multimarkdown & forkC(X)HTMLUna implementación en C de MultiMarkdown.
SundownC(X)HTMLUna implementation creada únicamente en C con extensiones.
MarkdownSharpC# (.NET)(X)HTML?Una implementation en C# usada en Stack Overflow.
MoonShineC# (.NET)(X)HTMLUna versión en .NET de Sundown.
Sundown.netC# (.NET)(X)HTMLUna versión en .NET de Sundown.
MarkdownDeepC# y JavascriptHTMLImplementación open source de Markdown para C# y Javascript
LowdownChicken SchemeSXMLNo?Implementación pura para Chicken Scheme.
markdown-cljClojure(X)HTML?Implementación que compilará tanto en Clojure como en ClojureScript.
BlackfridayGoHTML & LaTeXNoImplementación pura en Go.
GoldmarkGoHTMLImplementación en Go compatible con CommonMark.
GoskirtGo(X)HTMLVersión en Go de Sundown.
LuteGoHTMLImplementación en Go compatible con CommonMark/GFM.
upskirt.goGo(X)HTMLVersión simplificada de Sundown en Go.
PandocHaskell(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, TextileImplementación en Haskell que también acepta otras sintaxis como reStructuredText, textile, HTML, DocBook o LaTeX.
Sundown HSHaskell(X)HTMLVersión en Haskell de Sundown.
markdown4jJava(X)HTMLUn fork de MarkdownJ con extensiones.
MarkdownJJava(X)HTMLNoUna implementación pura en Java.
MarkdownPapersJavaAST?Una definición de la gramática JAVACC que produce un árbol abstracto de sintaxis (AST).
pegdownJava(X)HTMLUna implementación pura en Java PEG Grammar.
TxtmarkJava(X)HTMLUna implementación pura en Java.
markdown-jsJavaScript(X)HTMLNoUna implementación pura en JavaScript.
markedJavaScript(X)HTMLUna implementación pura en JavaScript.
remarkJavaScript(X)HTMLUna implementación pura en JavaScript.
ShowdownJavaScript(X)HTMLNoUna implementación pura en JavaScript,
CommonMark.jlJuliaHTML y LaTeXUna implementación en Julia con extensiones compatible con CommonMark.
lua-discountLua(X)HTMLVersión en Lua de Discount.
LunamarkLuaHTML, dzslides, Docbook, ConTeXt, LaTeX y Groff manUna gramática PEG en Lua.
markdown.luaLua(X)HTML?Una implementación pura en Lua.
node-discountNode.js(X)HTMLVersión en Node.js de Discount.
node-markdownNode.js(X)HTMLNoWrapper de Node.js para Showdown.
node-multimarkdownNode.js(X)HTMLWrapper de Node.js para Multimarkdown.
RoboSkirtNode.js(X)HTMLVersión en Node.js de Sundown.
texts.jsNode.js/JavaScriptHTML5, XeLaTeX y Pandoc JSON?Un subset de Markdown.
CocoaMarkdownObjective-C(X)HTMLNoUn port directo de markdown.pl a Objective-C.
GHMarkdownParserObjective-C(X)HTMLUna versión en Objective-C de Discount.
MMMarkdownObjective-C(X)HTMLPlaneado?Una librería estática pura en Objective-C.
OMDOCamlHTML, MarkdownUna implementación pura en OCaml.
markdown.plPerl(X)HTMLNoLa implementación original.
MultiMarkdownPerlHTML, PDF, OPML, OpenDocumentUn superset de Markdown.
text-markdownPerl(X)HTMLMódulo CPAN de Perl de Text::Markdown.
markdownPerl 6(X)HTML?Una implementación en Perl 6 de Markdown.
cebe/markdownPHP(X)HTMLUna implementación en PHP eficiente y extensible.
markdown-oo-phpPHP(X)HTMLUna librería de PHP orientada a objetos.
Parsedown ExtraPHP(X)HTMLUn parser eficiente y extensible de Markdown Extra.
ParsedownPHP(X)HTMLUn parser eficiente y extensible de Markdown.
PHP Markdown ExtraPHP(X)HTMLUn superset de Markdown en PHP.
PHP MarkdownPHP(X)HTMLNoUna implementación en PHP.
PHP-SundownPHP(X)HTMLVersión en PHP de Sundown.
HoepPython(X)HTMLVersión en Python de Hoedown.
Python-DiscountPython(X)HTMLVersión en Python de Discount.
python-hoedownPython(X)HTMLVersión en Python de Hoedown.
Python-Markdown2Python(X)HTMLPort de markdown.pl en Python.
MisakaPython 2 & 3(X)HTMLVersión en Python de Sundown.
Python-MarkdownPython 2 & 3(X)HTMLUna implementación en Python con extensiones.
MistunePython 2, 3, & pypy(X)HTMLPort de Marked en Python.
BlueClothRuby(X)HTMLVersión en Ruby de Discount.
BlueFeatherRuby??Una implementación pura en Ruby.
ffi-sundownRuby(X)HTML?Versión en Ruby FFI de Sundown.
kramdownRuby(X)HTML, LaTeX, kramdown's superset of Markdown, PDF via LatexUn superset implementado en Ruby que también acepta HTML como entrada.
MarukuRuby(X)HTMLUn superset implementado en Ruby.
RDiscountRuby(X)HTMLUna versión en Ruby de Discount.
RedcarpetRuby(X)HTMLUna versión en Ruby de Sundown.
ActuariusScala(X)HTMLNo?Una implementación pura en Scala.
KnockoffScala(X)HTMLNo?Una implementación pura en Scala.
LaikaScala(X)HTMLNoUna implementación pura en Scala que también soporta reStructuredText

También existen muchas implementaciones de CommonMark, que es una sintaxis basada en Markdown. Si quieres, también puedes consultar la lista de parsers de Common Mark.

Para más información, consulta la lista de parsers de Markdown en GitHub.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado este tutorial. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirlo en Twitter.

para estar al día con mi contenido. 😊