Markdown Reference

What is Markdown?

Markdown is a plain-text formatting syntax. You write in an ordinary text file using a few simple marks — # for a heading, * for emphasis, - for a list — and a Markdown processor turns it into formatted output (usually HTML).

It was created in 2004 by John Gruber, with input from Aaron Swartz, with one goal: the source should be readable as-is, without looking like it’s been marked up with tags. A Markdown document is legible in any text editor, survives copy-paste, diffs cleanly in version control, and will still open in fifty years.

Because the original description left some cases undefined, several flavours emerged. The most important is CommonMark, a precise specification that most modern tools follow, and GitHub Flavored Markdown (GFM), which adds tables, task lists, strikethrough and autolinking on top of CommonMark. Markdown Reader follows CommonMark + GFM, plus the extensions listed at the end of this page.

Markdown files use the extensions .md or .markdown (Markdown Reader also opens .mdown, .mkd, .mkdn and .mdwn).


Core syntax

Headings

# Heading 1

## Heading 2

### Heading 3

#### Heading 4

Use one # for the title and work down. Don’t skip levels — it matters for the contents sidebar and for screen readers.

Paragraphs and line breaks

Separate paragraphs with a blank line. A single newline inside a paragraph is ignored (the text reflows). To force a line break, end a line with two spaces, or use a backslash \ at the end of the line.

Emphasis

*italic* or _italic_
**bold** or __bold__
***bold italic***
~~strikethrough~~

Blockquotes

> A quote.
>
> > Quotes can nest.

Lists

- Unordered item
- Another item
  - Indent two spaces to nest
- Back to the top level

1. Ordered item
1. The numbers you type don't matter —
1. they're renumbered automatically

- [ ] An unchecked task
- [x] A completed task
[Link text](https://example.com)
[Link with a title](https://example.com 'Shown on hover')
[Reference-style link][ref]
<https://example.com> (an automatic link)

[ref]: https://example.com

In Markdown Reader, a link to another local .md file or to a #heading opens in a new tab.

Images

![Alt text](image.png)
![Alt text](image.png 'Optional title')

Always write meaningful alt text — it’s what screen-reader users hear and what shows if the image fails to load. For a purely decorative image, use empty alt: ![](divider.png).

Code

Inline: wrap with single backticks — `like this`.

Fenced blocks: three backticks, optionally with a language for syntax highlighting:

```js
function hello(name) {
  return `Hi, ${name}`;
}
```

Indent by four spaces for a code block without a fence.

Horizontal rule

Three or more -, * or _ on their own line:

---

Tables (GFM)

| Left | Center | Right |
| :--- | :----: | ----: |
| a    |   b    |     c |
| d    |   e    |     f |

The : positions in the divider row set column alignment. The outer pipes are optional; the cell widths in the source don’t need to line up.

Escaping

Put a backslash before a character to show it literally: \*not italic\*, \#not a heading.

HTML

CommonMark allows raw HTML in Markdown. Markdown Reader disables inline HTML for safety — tags are shown as text. Use Markdown syntax or the extensions below instead.


Markdown Reader’s extensions

GitHub-style alerts / callouts

> [!NOTE]
> Useful information the reader should notice.

> [!TIP]
> A helpful suggestion.

> [!IMPORTANT]
> Essential information.

> [!WARNING]
> Something that needs attention.

> [!CAUTION]
> A risk or negative consequence.

Math (KaTeX)

Inline: $E = mc^2$

Display:

$$
\int_0^\infty x^2 \, dx
$$

Diagrams (Mermaid)

```mermaid
flowchart LR
  A[Start] --> B{Decision}
  B -->|yes| C[Do a thing]
  B -->|no| D[Do nothing]
```

Flowcharts, sequence diagrams, Gantt charts, class diagrams and more — see mermaid.js.org.

Footnotes

Here is a claim.[^1]

[^1]: And here is the supporting note.

Definition lists

Term
: The definition of the term.

Another term
: Its definition.

Subscript, superscript, highlight, inserted text

H~2~O and E = mc^2^

==highlighted text==

++inserted text++

Abbreviations

The HTML spec is maintained by the W3C.

*[HTML]: HyperText Markup Language
*[W3C]: World Wide Web Consortium

Hover HTML or W3C in the rendered text to see the expansion.

Emoji shortcodes

:rocket: :sparkles: :white_check_mark:

Automatic heading anchors

Every heading gets an id derived from its text, so you can link to it with [jump](#the-heading-text) from anywhere in the document.

YAML front matter

A block fenced by --- at the very top of the file holds metadata:

---
title: My Document
author: Ada Lovelace
date: 2026-01-01
tags: [notes, draft]
---

# My Document

Markdown Reader folds this into an info card at the top of the reading view (toggle with ⌘⇧I).

[[Other Note]]
[[Other Note|shown as this text]]

When a folder is open, [[Other Note]] links to Other Note.md in that folder.


A minimal, complete example

---
title: Release notes
---

# Release notes

## Version 2.0

- New **dark mode**
- Fixed a crash when opening large files [^perf]

> [!TIP]
> Hold `⌥` while clicking to open in the background.

[^perf]: Files over 100 MB now stream instead of loading at once.

See the Markdown Reader Guide for how to use the app itself.