Skip to article content

This page provides an overview of the types of block and inline markup features supported by CommonMark and MyST, with pointers to additional content of interest. For full details on all the nuance of these features, please look at the CommonMark Spec documentation.

MyST (Markedly Structured Text) was designed to make it easier to create publishable computational documents written with Markdown notation. It is a superset of CommonMark Markdown and draws heavy inspiration from reStructuredText and pandoc. In addition to CommonMark, MyST also implements and extends unist and mdast, which are standard abstract syntax trees for Markdown. unist is part of the unifiedjs community and has many utilities for analyzing, exporting and transforming your content.

Block Markup


Markdown syntax denotes headers starting with between 1 to 6 #. For example, a level 3 header looks like:

Setext Headings

An alternative syntax (called setext) is also supported for level 1 and 2 headers, by underlining using multiple === or ---. For example:


Bullet points:

Numbered items:


Code blocks are enclosed in 3 or more ` or ~ with an optional language name.

Indented paragraphs are also treated as literal text. This may be used for code or other preformatted text.


Quote blocks are prepended with >:

Thematic Break

Create a horizontal line in the output

Links may be defined outside of text with a reference target (no spaces) and an optional title.


Any text that does not belong to another block is simply a paragraph:

Valid HTML

Any valid HTML may also be included in a MyST document and rendered to HTML. However, you must set the option allowDangerousHtml: true in the MyST parser.

Inline Markup

Auto-link where link itself is shown in final output:

Link with alternative text and optional title:

Inline images

Link to an image can be done similar to other inline links, or you may use HTML syntax to include image size, etc.

Text formatting

Standard inline formatting including bold, italic, code, as well as escaped symbols and line breaks:

MyST MarkdownMyST Markdown
Community-driven tools for the future of technical communication and publication