All posts
·7 min read

Markdown Extended Syntax: Tables, Footnotes, Highlights, and More

markdownextended syntaxtablesfootnotes

Markdown Extended Syntax: Tables, Footnotes, Highlights, and More

Markdown extended syntax refers to a collection of features that go beyond the original spec written by John Gruber in 2004. If you have used standard markdown for a while, you already know headings, bold, italic, links, and inline code. Extended syntax builds on that foundation with tables, footnotes, definition lists, task lists, highlight marks, superscript, subscript, and fenced code blocks with language identifiers.

Quick Answer: Markdown extended syntax adds 8+ features beyond the original 2004 spec, including tables, footnotes, task lists, strikethrough, highlight (text), superscript, and subscript. No single standard covers all of them. Pandoc supports the widest set, while GitHub Flavored Markdown covers the most commonly used subset used by over 100 million repositories.

Not every tool supports every extension. Understanding which features are available in which processor is the key to using extended syntax reliably.

What Is Extended Markdown?

The original markdown specification left a number of practical use cases unaddressed. Over time, processors like PHP Markdown Extra, MultiMarkdown, Pandoc, and GitHub Flavored Markdown each added their own extensions. The result is a collection of features that are now widely adopted, even if no single “extended markdown” standard exists.

The most common reference today is the Markdown Guide’s Extended Syntax page, which documents the most broadly supported additions. For a comparison of GFM specifically against the CommonMark baseline, see GitHub Flavored Markdown.

What Are Markdown Tables and How Do You Use Them?

Tables are the most widely used extended syntax feature. The syntax uses pipe characters to define columns and hyphens to separate the header row.

| Tool     | Format     | Price  |
|----------|------------|--------|
| Obsidian | Local files | Free  |
| Notion   | Proprietary | Paid  |
| edtr.md  | Markdown    | Free  |

Column alignment uses colons in the separator row:

| Left-aligned | Centered | Right-aligned |
|:-------------|:--------:|--------------:|
| Item A       | Item B   | 100           |
| Item C       | Item D   | 250           |

For full table syntax including alignment and nesting strategies, see the Markdown Tables Guide.

Supported by: GitHub Flavored Markdown, MultiMarkdown, Pandoc, Obsidian, most static site generators.

How Do Footnotes Work in Markdown?

Footnotes let you add references or side notes without cluttering the main text. The syntax uses a bracket-caret notation for the reference and a separate definition:

Markdown was created by John Gruber in 2004.[^1]

[^1]: Gruber, J. (2004). Markdown. https://daringfireball.net/projects/markdown/

The footnote reference [^1] renders as a superscript link, and the definition appears at the bottom of the document. You can use any identifier inside the brackets, not just numbers:

This is a well-known result.[^source]

[^source]: See Smith et al., 2020, pp. 34-38.

Supported by: Pandoc, MultiMarkdown, PHP Markdown Extra, Obsidian, many static site generators. Not in GFM or CommonMark core.

What Are Definition Lists in Markdown?

Definition lists structure terms and their definitions, similar to a <dl> element in HTML:

Markdown
:   A lightweight markup language with plain-text formatting syntax.

CommonMark
:   A strongly defined, highly compatible specification of markdown.

GFM
:   GitHub Flavored Markdown, an extension of CommonMark.

This renders each term followed by its definition indented below. Multiple definitions for the same term are supported by repeating the colon-space syntax.

Supported by: PHP Markdown Extra, Pandoc, MultiMarkdown. Not supported in GFM.

How Do Task Lists Work in Extended Markdown?

Task lists use brackets to create a visual checklist:

- [x] Research markdown processors
- [x] Draft the outline
- [ ] Write the full post
- [ ] Add internal links
- [ ] Publish

The [x] creates a checked box and [ ] creates an unchecked one. In tools like GitHub and Obsidian, these are interactive. In static output like HTML or PDF, they render as visual indicators.

See the dedicated post on Markdown Task Lists for usage patterns in project management and note-taking workflows.

Supported by: GFM, Obsidian, many static site generators, most modern markdown editors.

What Is the Highlight Extension in Markdown?

The highlight extension marks text with a background color, similar to using a highlighter pen. It uses double equal signs:

This is the ==most important== part of the paragraph.

This is a relatively new extension and is not universally supported, but Obsidian and some static site generators handle it.

Supported by: Obsidian, Typora, some Pandoc extensions. Not in GFM or CommonMark.

How Do Superscript and Subscript Work?

Superscript and subscript are useful for scientific notation, footnote numbers, and chemical formulas.

Superscript

E = mc^2^

X^n^ + Y^n^ = Z^n^

Subscript

H~2~O

CO~2~ levels have increased significantly since 1850.

Some processors use <sup> and <sub> HTML tags directly instead of the tilde/caret shorthand. Both approaches work in tools that support them.

Supported by: Pandoc, MultiMarkdown, Obsidian, Typora. Not in GFM or CommonMark.

Why Use Fenced Code Blocks with Language Identifiers?

Standard markdown supports indented code blocks (four spaces). Extended syntax adds fenced code blocks using triple backticks and a language identifier:

```python
def fibonacci(n: int) -> list[int]:
    seq = [0, 1]
    for i in range(2, n):
        seq.append(seq[-1] + seq[-2])
    return seq[:n]
```

The language identifier enables syntax highlighting. Common identifiers include javascript, typescript, python, bash, sql, yaml, json, html, css, and rust. Tools like highlight.js support over 190 languages out of the box, making fenced code blocks with identifiers a universal best practice for technical writing.

Triple tildes work as an alternative fence character, useful when the code itself contains backticks:

~~~markdown
This is a **fenced code block** using tildes.
~~~

Supported by: Almost universally supported in modern markdown processors. Included in CommonMark.

What Is Strikethrough in Extended Markdown?

Strikethrough uses double tildes to mark text as deleted or deprecated:

The old endpoint was ~~https://api.example.com/v1~~. Use v2 instead.

Supported by: GFM, Pandoc, Obsidian, most static site generators.

Where Is Extended Syntax Supported?

Feature GFM Pandoc MultiMarkdown Obsidian CommonMark
Tables Yes Yes Yes Yes No
Footnotes No Yes Yes Yes No
Definition lists No Yes Yes No No
Task lists Yes No No Yes No
Highlight No Plugin No Yes No
Superscript No Yes Yes Yes No
Subscript No Yes Yes Yes No
Strikethrough Yes Yes Yes Yes No
Fenced code Yes Yes Yes Yes Yes

How Do You Choose the Right Processor?

If you need the broadest extended syntax support, Pandoc is the strongest option. It handles footnotes, definition lists, superscript, subscript, tables, strikethrough, and fenced code blocks, and it converts markdown to HTML, PDF, DOCX, EPUB, and many other formats.

For note-taking and personal knowledge management, Obsidian supports most of the practically useful extensions, including highlights and task lists.

For technical documentation published on GitHub or similar platforms, GitHub Flavored Markdown covers the features most teams need: tables, task lists, strikethrough, and fenced code.


If you want to try extended syntax in a live editor without installing anything, edtr.md renders tables, task lists, fenced code blocks, and more directly in your browser. No account required.

Try it yourself

Open edtr.md and start writing Markdown with live preview, diagrams, math, and PDF export. Free, no sign-up.

Open editor