A collection about awesome markdown (& beyond) - let's fix markdown quirks & oddities and let's fill-in / add the missing parts (tables? footnotes? generic blocks? etc.)
1,924
155 commits
updated Sep 29, 2026
Awesome Markdown Series - For Editors & (Pre)viewers, see Awesome Markdown Editors & (Pre)viewers Β»
A collection of awesome markdown goodies (libraries, services, editors, tools, cheatsheets, etc.)
[!NOTE] As a new policy starting in 2026 - please add all new listing entries first to the Upcoming / What's New in 2026? page. thank you for your understanding.
ps: bonus - please, do NOT forget to add a link to your code / source on github / gitlab / codeberg or whatnot. if no source code is available, please add yourself to the Commercial Edition page - no matter if the basic usage is free or you only have ads or such.
Djot (web: https://djot.net, github: https://github.com/jgm/djot) - by John MacFarlane (USA); a light markup syntax deriving most of its features from commonmark, but fixing a few things that make commonmark's syntax complex and difficult to parse efficiently. Djot is also much fuller-featured than commonmark, with support for definition lists, footnotes, tables, several new kinds of inline formatting (insert, delete, highlight, superscript, subscript), math, smart punctuation, attributes that can be applied to any element, and generic containers for block-level, inline-level, and raw content.
Versadoc (github: https://github.com/gettalong/versadok) - by Thomas Leitner (Austria); a lightweight markup language mainly based on kramdown, a markdown-superset, and on djot, with further influence from asciidoc and restructuredtext. The goal of versadok is to create a markup language that is easy to write, read and reason about and fully-featured and not tied to a particular output format (hint: HTML). By being markdown-like many people will already be familiar with the general syntax.
Texti (Text w/ Instructions) (github: https://github.com/texti) - by Gerald Bauer (Austria); a light markup syntax / language based on the best of markdown, wikipedia markup, latex & friends offering structured documents in (plain) text with formatting conventions for bold, italics, and more.
Carve (web: https://markup-carve.github.io/carve/, github: https://github.com/markup-carve/carve) - by Mark Scherer (Germany); a post-markdown lightweight markup language deriving from djot and commonmark. It distinguishes three separate inline marks - *strong*, /emphasis/, and _underline_ - and adds math, definition lists, footnotes, citations, cross-references, and generic containers, with multiple engine implementations in JavaScript, Rust, and PHP.
GEML (General Expressive Markup Language) (web: https://geml-spec.github.io/geml/, github: https://github.com/geml-spec/geml) - by the geml-spec project; a plain-text markup language that keeps Markdown's prose and replaces its many special-case blocks with one typed block, === type {attrs}, for code, tables, math, diagrams, data, notes and embeds. Every block is addressable by #id, references are checked at build time, and a .gemlhistory sidecar keeps block-level history. Its reference parser also reads plain Markdown files directly.
Yes, you can! Add your improved beyond markdown light markup syntax / language here.
email-style writing for the web by John Gruber and Aaron Swartz
History / Genesis
Introducing Markdown by John Gruber - March 15, 2004
I've written a text-to-HTML formatting tool called Markdown, which is now available for download. Markdown allows web writers to compose text using a simple, readable, plain text formatting syntax; Markdown takes care of translating it to valid XHTML (or, if you prefer, HTML).
Dive into Markdown by John Gruber - March 19, 2004
You don't need to "preview" an email before you send it -- you write it, you read it, you edit it, right there.
In fact, I love writing email. Email is my favorite writing medium. I've sent over 16,000 emails in the last five years. The conventions of plain text email allow me to express myself clearly and precisely, without ever getting in my way.
Thus, Markdown. Email-style writing for the web.
Markdown by Aaron Swartz - March 22, 2004
For months I've been working with John Gruber on a new project. The idea was to make writing simple web pages, and especially weblog entries, as easy as writing an email, by allowing you to use much the same syntax and converting it automatically into HTML.
Together we pored over the syntax details from top to bottom, trying to develop the perfect format, and I think we've got something pretty darn great. We've tested it extensively: on our blogs, in my comments form, in our emails.
Documentation
Free book format for Markdown
Manuscripts
(web: manuscripts.github.io,
github: manuscripts) -
adds book.yml for book (meta) info e.g. title, author, publisher, year etc.
and contents.yml for table of contents and file structure
manuscripts/book-starter)A strongly specified, highly compatible implementation of Markdown
CommonMark
(web: commonmark.org)
spec.commonmark.org) - Edited by John MacFarlanespec.commonmark.org/dingus) - try CommonMark in your browsertalk.commonmark.org)jgm/CommonMark) - spec and reference code in JavaScript and CCommonMark with GitHub Extensions
GitHub Flavored Markdown (GFM)
github.github.com/gfm)github/cmark - reference code in C (fork of cmark w/ extensions)Extensions include:
Leaf Blocks: Tables ++ Container Blocks: Task list items ++ Inlines: Strikethrough; Autolinks; Disallowed Raw HTML
A variant of Markdown with an unambiguous specification of its syntax
Vanilla Flavored Markdown (VFMD)
(web: vfmd.org, github: vfmd)
vfmd/vfmd-src) - reference code in C++Differences include:
Intra-word emphasis; Simplified reference link/image syntax; Lists and the 4-space rule; Better automatic link detection; Double blank lines as end of blocks; Starting number in lists; Misnested constructs; Including raw HTML; Character encoding
Pandoc
(web: pandoc.org,
github: github.com/jgm/pandoc) -
a universal document converter (in Haskell)
kramdown
(web: kramdown.gettalong.org,
github: gettalong/kramdown,
gem: kramdown) -
markdown library & command line tool (in Ruby)
Markdown Extended (MDE)
(github: e-picas/markdown-extended
marked
(web: marked.js.org, github: marked :octocat:) a markdown parser and compiler. Built for speed. (In Javascript)
markdown-it
(web: markdown-it.github.io, github: markdown-it :octocat:) Javascript markdown parser. 100% CommonMark support, extensions, syntax plugins & high speed.
Is extensible with plugins.
concat-md (npm, github) CLI and API to concatenate markdown files and modify as necessary. Also adds titles from FrontMatter, file names and directory names, decreases level of existing titles to comply with added titles.
mdcode (github: mdcode) Markdown code block authoring tool. It enables testable code blocks, with two-way synchronization between code blocks and source files.
quikdown (web, npm, github :octocat:) Lightweight (10KB) markdown parser with bidirectional HTML conversion, built-in XSS protection, and extensible plugin system. Zero dependencies, works in browser and Node.js. Features include drop-in editor component, TypeScript support, and lazy linefeeds for chat applications. (Live Parser Demo, Editor Demo)
mq (web: mqlang.org, github: mq :octocat:) A command-line tool that processes Markdown using a syntax similar to jq. Written in Rust, allowing you to easily slice, filter, map, and transform structured data in Markdown files.
markdown-to-jsx (web: markdown-to-jsx.quantizor.dev, github: markdown-to-jsx :octocat:, npm) A very fast and versatile markdown toolchain. Output to AST, React, React Native, SolidJS, Vue, HTML, and more!
to be done
<x-markdown> - to be doneJekyll
(web: jekyllrb.com,
github: jekyll/jekyll :octocat:,
gem: jekyll π) -
transform your plain text into static websites and blogs (in Ruby)
Middleman
(web: middlemanapp.com,
github: middleman/middleman :octocat:,
gem: middleman π) -
makes developing websites simple (in Ruby)
Slate (github: lord/slate :octocat:) - beautiful API documentation, based on Middleman
Shins (github: Mermade/shins :octocat:, npm: shins) β beautiful API documentation, with node.js (port of Slate)
md-fileserver (github: md-fileserver :octocat:, npm: md-fileserver) β View markdown files locally in browser.
Compiiile (github: @compiiile/compiiile :octocat:, npm: @compiiile/compiiile) β Preview and serve folders containing Markdown files with full-text search and presentation slides.
ZenMD (github: @randomor/zenmd, npm: zenmd β The simplest way to convert a folder of Markdown files into a site of HTML files.
markdown-pages.js (github: markdown-pages.js :octocat: - Client-side rendering of Markdown website
Markdown Here
(web: markdown-here.com,
github: adam-p/markdown-here) -
a browser extension for rendering email written in Markdown;
available for Chrome, Firefox, Safari, Thunderbird, and more;
besides email also works with Evernote, Google Groups, Blogger, and more
Slide Show (S9)
(web: slideshow-s9.github.io,
github: slideshow-s9/slideshow,
gem: slideshow) -
a free web alternative to PowerPoint and Keynote in Ruby
slideshow-templates)Slidev (github: slidev) - Slidev allows you to create slideshows from a markdown file. You can include HTML and Vue components in the markdown.
Markpress (github: markpress) - A command line tool and node package to convert markdown files into self-contained impressjs html presentations. Example
nodePPT (github: nodePPT) - A web presentation tool supporting markdown based on GFM.
Deckset (website: Deckset) β A macOS desktop app that renders Markdown presentations in beautifully designed templates.
GitPitch (website: GitPitch, github: gitpitch :octocat:) β Markdown Presentations For Everyone on GitHub, GitLab, Bitbucket, GitBucket, Gitea, and Gogs. Example
zoetic (github zoetic) - Markdown presentations with your webcam as your background while presenting
markdeep-slides (github: markdeep-slides) - Browser-side rendering of Markdown as slide deck
The Zen of Page Designs
(github: pagedesigns)
The Zen of Book Designs
(github: bookdesigns)
Hyper Book (H9) :octocat:, π
markdown-toc)doc2md :octocat: - high-fidelity PDF, DOCX, and PPTX to Markdown conversion pipeline with multi-extractor support (pymupdf, pdfplumber, MinerU), image extraction, per-image classification, and multi-stage quality control
file2markdown.ai - AI-powered converter that turns PDFs, Word docs, and images into clean structured Markdown. Optimized for RAG pipelines and Obsidian. Free tier available (20 conversions/day).
--pdfRuby
JavaScript / Node.js
to-markdown)More
Generate API documentation from source code in Markdown, then host it on the web using one of the many Markdown to Website tools to host and serve it.
JavaScript / Node.js
License
The awesome list is dedicated to the public domain. Use it as you please with no restrictions whatsoever.
Questions? Comments?
Send them along to the markdown-discuss mailing list. Thanks!
1,026 followers Β· starred May 2015
682 followers Β· starred Aug 2026
254 followers Β· starred Apr 2021
425 followers Β· starred Dec 2021
A collection about awesome markdown (& beyond) - let's fix markdown quirks & oddities and let's fill-in / add the missing parts (tables? footnotes? generic blocks? etc.)
1,924
155 commits
updated Sep 29, 2026
Awesome Markdown Series - For Editors & (Pre)viewers, see Awesome Markdown Editors & (Pre)viewers Β»
A collection of awesome markdown goodies (libraries, services, editors, tools, cheatsheets, etc.)
[!NOTE] As a new policy starting in 2026 - please add all new listing entries first to the Upcoming / What's New in 2026? page. thank you for your understanding.
ps: bonus - please, do NOT forget to add a link to your code / source on github / gitlab / codeberg or whatnot. if no source code is available, please add yourself to the Commercial Edition page - no matter if the basic usage is free or you only have ads or such.
Djot (web: https://djot.net, github: https://github.com/jgm/djot) - by John MacFarlane (USA); a light markup syntax deriving most of its features from commonmark, but fixing a few things that make commonmark's syntax complex and difficult to parse efficiently. Djot is also much fuller-featured than commonmark, with support for definition lists, footnotes, tables, several new kinds of inline formatting (insert, delete, highlight, superscript, subscript), math, smart punctuation, attributes that can be applied to any element, and generic containers for block-level, inline-level, and raw content.
Versadoc (github: https://github.com/gettalong/versadok) - by Thomas Leitner (Austria); a lightweight markup language mainly based on kramdown, a markdown-superset, and on djot, with further influence from asciidoc and restructuredtext. The goal of versadok is to create a markup language that is easy to write, read and reason about and fully-featured and not tied to a particular output format (hint: HTML). By being markdown-like many people will already be familiar with the general syntax.
Texti (Text w/ Instructions) (github: https://github.com/texti) - by Gerald Bauer (Austria); a light markup syntax / language based on the best of markdown, wikipedia markup, latex & friends offering structured documents in (plain) text with formatting conventions for bold, italics, and more.
Carve (web: https://markup-carve.github.io/carve/, github: https://github.com/markup-carve/carve) - by Mark Scherer (Germany); a post-markdown lightweight markup language deriving from djot and commonmark. It distinguishes three separate inline marks - *strong*, /emphasis/, and _underline_ - and adds math, definition lists, footnotes, citations, cross-references, and generic containers, with multiple engine implementations in JavaScript, Rust, and PHP.
GEML (General Expressive Markup Language) (web: https://geml-spec.github.io/geml/, github: https://github.com/geml-spec/geml) - by the geml-spec project; a plain-text markup language that keeps Markdown's prose and replaces its many special-case blocks with one typed block, === type {attrs}, for code, tables, math, diagrams, data, notes and embeds. Every block is addressable by #id, references are checked at build time, and a .gemlhistory sidecar keeps block-level history. Its reference parser also reads plain Markdown files directly.
Yes, you can! Add your improved beyond markdown light markup syntax / language here.
email-style writing for the web by John Gruber and Aaron Swartz
History / Genesis
Introducing Markdown by John Gruber - March 15, 2004
I've written a text-to-HTML formatting tool called Markdown, which is now available for download. Markdown allows web writers to compose text using a simple, readable, plain text formatting syntax; Markdown takes care of translating it to valid XHTML (or, if you prefer, HTML).
Dive into Markdown by John Gruber - March 19, 2004
You don't need to "preview" an email before you send it -- you write it, you read it, you edit it, right there.
In fact, I love writing email. Email is my favorite writing medium. I've sent over 16,000 emails in the last five years. The conventions of plain text email allow me to express myself clearly and precisely, without ever getting in my way.
Thus, Markdown. Email-style writing for the web.
Markdown by Aaron Swartz - March 22, 2004
For months I've been working with John Gruber on a new project. The idea was to make writing simple web pages, and especially weblog entries, as easy as writing an email, by allowing you to use much the same syntax and converting it automatically into HTML.
Together we pored over the syntax details from top to bottom, trying to develop the perfect format, and I think we've got something pretty darn great. We've tested it extensively: on our blogs, in my comments form, in our emails.
Documentation
Free book format for Markdown
Manuscripts
(web: manuscripts.github.io,
github: manuscripts) -
adds book.yml for book (meta) info e.g. title, author, publisher, year etc.
and contents.yml for table of contents and file structure
manuscripts/book-starter)A strongly specified, highly compatible implementation of Markdown
CommonMark
(web: commonmark.org)
spec.commonmark.org) - Edited by John MacFarlanespec.commonmark.org/dingus) - try CommonMark in your browsertalk.commonmark.org)jgm/CommonMark) - spec and reference code in JavaScript and CCommonMark with GitHub Extensions
GitHub Flavored Markdown (GFM)
github.github.com/gfm)github/cmark - reference code in C (fork of cmark w/ extensions)Extensions include:
Leaf Blocks: Tables ++ Container Blocks: Task list items ++ Inlines: Strikethrough; Autolinks; Disallowed Raw HTML
A variant of Markdown with an unambiguous specification of its syntax
Vanilla Flavored Markdown (VFMD)
(web: vfmd.org, github: vfmd)
vfmd/vfmd-src) - reference code in C++Differences include:
Intra-word emphasis; Simplified reference link/image syntax; Lists and the 4-space rule; Better automatic link detection; Double blank lines as end of blocks; Starting number in lists; Misnested constructs; Including raw HTML; Character encoding
Pandoc
(web: pandoc.org,
github: github.com/jgm/pandoc) -
a universal document converter (in Haskell)
kramdown
(web: kramdown.gettalong.org,
github: gettalong/kramdown,
gem: kramdown) -
markdown library & command line tool (in Ruby)
Markdown Extended (MDE)
(github: e-picas/markdown-extended
marked
(web: marked.js.org, github: marked :octocat:) a markdown parser and compiler. Built for speed. (In Javascript)
markdown-it
(web: markdown-it.github.io, github: markdown-it :octocat:) Javascript markdown parser. 100% CommonMark support, extensions, syntax plugins & high speed.
Is extensible with plugins.
concat-md (npm, github) CLI and API to concatenate markdown files and modify as necessary. Also adds titles from FrontMatter, file names and directory names, decreases level of existing titles to comply with added titles.
mdcode (github: mdcode) Markdown code block authoring tool. It enables testable code blocks, with two-way synchronization between code blocks and source files.
quikdown (web, npm, github :octocat:) Lightweight (10KB) markdown parser with bidirectional HTML conversion, built-in XSS protection, and extensible plugin system. Zero dependencies, works in browser and Node.js. Features include drop-in editor component, TypeScript support, and lazy linefeeds for chat applications. (Live Parser Demo, Editor Demo)
mq (web: mqlang.org, github: mq :octocat:) A command-line tool that processes Markdown using a syntax similar to jq. Written in Rust, allowing you to easily slice, filter, map, and transform structured data in Markdown files.
markdown-to-jsx (web: markdown-to-jsx.quantizor.dev, github: markdown-to-jsx :octocat:, npm) A very fast and versatile markdown toolchain. Output to AST, React, React Native, SolidJS, Vue, HTML, and more!
to be done
<x-markdown> - to be doneJekyll
(web: jekyllrb.com,
github: jekyll/jekyll :octocat:,
gem: jekyll π) -
transform your plain text into static websites and blogs (in Ruby)
Middleman
(web: middlemanapp.com,
github: middleman/middleman :octocat:,
gem: middleman π) -
makes developing websites simple (in Ruby)
Slate (github: lord/slate :octocat:) - beautiful API documentation, based on Middleman
Shins (github: Mermade/shins :octocat:, npm: shins) β beautiful API documentation, with node.js (port of Slate)
md-fileserver (github: md-fileserver :octocat:, npm: md-fileserver) β View markdown files locally in browser.
Compiiile (github: @compiiile/compiiile :octocat:, npm: @compiiile/compiiile) β Preview and serve folders containing Markdown files with full-text search and presentation slides.
ZenMD (github: @randomor/zenmd, npm: zenmd β The simplest way to convert a folder of Markdown files into a site of HTML files.
markdown-pages.js (github: markdown-pages.js :octocat: - Client-side rendering of Markdown website
Markdown Here
(web: markdown-here.com,
github: adam-p/markdown-here) -
a browser extension for rendering email written in Markdown;
available for Chrome, Firefox, Safari, Thunderbird, and more;
besides email also works with Evernote, Google Groups, Blogger, and more
Slide Show (S9)
(web: slideshow-s9.github.io,
github: slideshow-s9/slideshow,
gem: slideshow) -
a free web alternative to PowerPoint and Keynote in Ruby
slideshow-templates)Slidev (github: slidev) - Slidev allows you to create slideshows from a markdown file. You can include HTML and Vue components in the markdown.
Markpress (github: markpress) - A command line tool and node package to convert markdown files into self-contained impressjs html presentations. Example
nodePPT (github: nodePPT) - A web presentation tool supporting markdown based on GFM.
Deckset (website: Deckset) β A macOS desktop app that renders Markdown presentations in beautifully designed templates.
GitPitch (website: GitPitch, github: gitpitch :octocat:) β Markdown Presentations For Everyone on GitHub, GitLab, Bitbucket, GitBucket, Gitea, and Gogs. Example
zoetic (github zoetic) - Markdown presentations with your webcam as your background while presenting
markdeep-slides (github: markdeep-slides) - Browser-side rendering of Markdown as slide deck
The Zen of Page Designs
(github: pagedesigns)
The Zen of Book Designs
(github: bookdesigns)
Hyper Book (H9) :octocat:, π
markdown-toc)doc2md :octocat: - high-fidelity PDF, DOCX, and PPTX to Markdown conversion pipeline with multi-extractor support (pymupdf, pdfplumber, MinerU), image extraction, per-image classification, and multi-stage quality control
file2markdown.ai - AI-powered converter that turns PDFs, Word docs, and images into clean structured Markdown. Optimized for RAG pipelines and Obsidian. Free tier available (20 conversions/day).
--pdfRuby
JavaScript / Node.js
to-markdown)More
Generate API documentation from source code in Markdown, then host it on the web using one of the many Markdown to Website tools to host and serve it.
JavaScript / Node.js
License
The awesome list is dedicated to the public domain. Use it as you please with no restrictions whatsoever.
Questions? Comments?
Send them along to the markdown-discuss mailing list. Thanks!
1,026 followers Β· starred May 2015
682 followers Β· starred Aug 2026
254 followers Β· starred Apr 2021
425 followers Β· starred Dec 2021