Language Elements
Markdown language elements.
A Markdown 'element' is an atomic feature or construct — the smallest named unit that has defined syntax, a specific rendering purpose, and a distinct name in the Markdown specification or its common extensions.
Elements are organised into three groups based on how they behave in a document.
Block Elements
Block elements occupy their own vertical space in the document. They begin on a new line and are separated from adjacent content by blank lines or by the block structure itself. They form the skeleton of a Markdown document.
| Element | Description |
|---|---|
| Heading | A titled section marker at one of six levels, written with leading # characters. |
| Paragraph | A run of inline content separated from adjacent blocks by blank lines. The default container for prose. |
| Thematic break | A horizontal rule that signals a topic shift, written as three or more -, *, or _ characters on a line. |
| Blockquote | Indented quoted or cited content, prefixed with >. Can be nested. |
| Unordered list | A sequence of items without inherent order, each item prefixed with -, *, or +. |
| Ordered list | A numbered sequence of items, each prefixed with a numeral and a . or ). |
| Fenced code block | A verbatim, monospaced block delimited by triple backticks or tildes, with an optional language tag for syntax highlighting. |
| Indented code block | A verbatim block created by indenting content by four spaces; predates fenced syntax and less commonly used in modern Markdown. |
| HTML block | A raw HTML block passed through to the rendered output unchanged. |
Inline Elements
Inline elements appear within the flow of a paragraph or other block. They apply meaning or formatting to a span of text without breaking the surrounding flow.
| Element | Description |
|---|---|
| Emphasis | Italic text, conveying stress or distinction, written with a single * or _ on each side. |
| Strong | Bold text, conveying strong importance, written with double ** or __ on each side. |
| Inline code | A monospaced span for code, commands, or literals, delimited by single or double backticks. |
| Link | A navigable reference to a URL or anchor, written as [text](url) or with a reference-style definition. |
| Image | An embedded image, written as , using the same syntax as a link with a leading !. |
| Hard line break | A forced line break within a paragraph, written as two or more trailing spaces or a backslash at the end of a line. |
| Autolink | A URL or email address that the renderer converts to a clickable link automatically, enclosed in < and >. |
| Raw inline HTML | A fragment of HTML passed through inline, unchanged, within a paragraph. |
Extended Elements
Extended elements are not defined in the original Markdown specification. They are widely used additions introduced by flavours such as GitHub Flavored Markdown (GFM), Pandoc, MultiMarkdown, and others. Support varies by renderer. Here are a few but many more extended elements exist.
| Element | Description |
|---|---|
| Table | A grid of rows and columns with an alignment-controlled header row, using | pipes and - separator lines. Defined in GFM; absent in CommonMark. |
| Task list | An unordered list where each item carries a checkbox ([ ] or [x]), used for tracking completion. Defined in GFM. |
| Strikethrough | Text rendered with a horizontal strike, written with double ~~ on each side. Defined in GFM. |
| Footnote | A numbered reference in text that links to a corresponding note at the bottom of the page, written as [^label] and [^label]: text. Pandoc, MMD, and Kramdown support; not in CommonMark or GFM. |
| Definition list | A term and its definitions, using : to mark each definition. Pandoc and MMD; absent in CommonMark and GFM. |
| Maths (inline) | A LaTeX-notation maths expression rendered inline by KaTeX or MathJax, delimited by $...$. |
| Maths (block) | A LaTeX-notation maths expression rendered as a standalone centred block, delimited by $$...$$. |
| Admonition | A callout block for notes, warnings, tips, and similar notices. Syntax varies: Docusaurus uses :::, Obsidian uses > [!NOTE], GitHub uses > [!NOTE] with blockquote syntax. |
| Subscript | Text rendered below the baseline, written as ~text~ in Pandoc and MMD, or as <sub>text</sub> in HTML fallback. |
| Superscript | Text rendered above the baseline, written as ^text^ in Pandoc and MMD, or as <sup>text</sup> in HTML fallback. |
Each element in this reference has its own page with syntax, rendered output, flavour support matrix, and practical examples.