MarkDown Reader › Markdown support
We ran 52 CommonMark and GitHub Flavored Markdown features through the app's renderer and wrote down what happens. Version 1.7 supports 29 of them fully and 7 partly. 16 aren't supported yet. Rows marked New in 1.7 improved since 1.6.
SupportedPartialNot yet
| Feature | Status | Syntax | What the app does |
|---|---|---|---|
| ATX headings | Supported | ## Title | Levels 1 to 6, optional closing hashes, slug ids for the TOC. |
| Setext heading, H1 | Supported | Title
===== | |
| Setext heading, H2 | Not yet | Title
----- | Renders as a paragraph followed by a horizontal rule. |
| Paragraphs and blank lines | Supported | ||
| Horizontal rule | Supported | --- * * * - - - | |
| Fenced code, ``` and ~~~ | Supported | ```python | Language class is applied and highlight.js colours it. |
| Indented code (4 spaces) | Partial | code | Works after another block. At the very start of a document it renders as a paragraph. |
| Blockquotes | Supported | > quote | Nesting, lists inside, and lazy continuation all work. |
| Bullet lists | Supported | - item | -, * and + all accepted. |
| Ordered lists | Supported New in 1.7 | 5. five | 1. and 1) both work. A list that starts at 5 now numbers from 5. |
| Nested lists, space indented | Supported | - a
- b | 2 or 4 spaces per level. |
| Nested lists, tab indented | Not yet | - a
- b | The nested items become a code block. |
| Loose lists, multi-paragraph items | Supported | ||
| Code fence inside a list item | Partial | - a
```js | Fine when indented 2 spaces. Indented 4 spaces it renders as broken inline code. |
| Lazy continuation, unindented | Supported New in 1.7 | - a
b | An unindented line now continues the item, as the spec says. |
| GFM tables | Supported | | a | b |
|---|---| | Alignment row, inline formatting in cells, missing closing pipe. |
| Table without leading pipe | Not yet | a | b
--|-- | Renders as a paragraph. |
| Escaped pipe in a table cell | Not yet | | `x\|y` | | The cell still splits at the pipe. |
| Task lists | Supported | - [ ] todo | Beyond spec: clickable, with notes and file attachments written back to the file. |
| Raw HTML block | Partial | <details>
... | Only when the line starts with an allow-listed tag. center, video, img, a and h1 to h6 lines are escaped. |
| HTML comment | Supported | <!-- x --> | |
| Collapsible details and summary, mid-line | Partial New in 1.7 | 1. Q? <details>
<summary>A</summary>…</details> | Works when </details> ends the answer line, the shape Claude Code writes, and the list stays whole. If </details> sits on a line of its own inside the list, the opening tag is still shown as text. |
| Display math | Supported | $$ ... $$ | KaTeX, with copy-as-LaTeX. |
| YAML front matter | Supported New in 1.7 | ---
title: x
--- | Hidden, so the document starts at its first real line. A document that merely opens with a rule is left alone. |
| GFM alerts | Not yet | > [!NOTE] | Renders as a blockquote with a literal [!NOTE]. |
| Footnotes | Not yet | text[^1] | Both the reference and the definition are literal text. |
| Definition lists | Not yet | Term
: def | Extension syntax, not CommonMark. |
| Feature | Status | Syntax | What the app does |
|---|---|---|---|
| Bold, italic, bold-italic | Supported | **b** *i* ***bi*** | Nested emphasis works. |
| Intraword underscore | Supported New in 1.7 | snake_case_name | Stays as written. Underscores inside a word no longer open italics. |
| Strikethrough | Partial | ~~gone~~ | Double tilde works. GFM also accepts a single tilde, which stays literal. |
| Inline code | Supported | `code` | Spans that look like a relative file path become clickable (macOS). |
| Double-backtick code span | Not yet | `` a ` b `` | Splits into two spans and a stray backtick. |
| Backslash escapes | Supported | \* \# | |
| Hard line break, two spaces | Supported | a ⏎ | |
| Hard line break, backslash | Not yet | a\⏎ | The backslash is printed and the lines join. |
| Inline math | Supported | $x^2$ | Deliberately stricter delimiters than pandoc. |
| Inline HTML | Partial New in 1.7 | a<br>b x<sup>2</sup> | Fifteen formatting tags now render inside text: br, wbr, kbd, sup, sub, mark, ins, del, s, u, small, abbr, span, details and summary. Tags that carry a link or an image (a, img) are still shown as text, on purpose. |
| HTML entities | Supported New in 1.7 | © | Render as the character, so © shows ©. |
| Emoji shortcodes | Not yet | :smile: | Extension syntax. Real emoji characters render fine. |
| Highlight, superscript, subscript | Not yet | ==x== ^2^ ~2~ | Extension syntax, not CommonMark. The <mark>, <sup> and <sub> tags work instead. |
| Feature | Status | Syntax | What the app does |
|---|---|---|---|
| Inline links | Supported | [t](url "title") | |
| Link with parentheses in URL | Not yet | [a](https://w/Foo_(bar)) | Cuts at the first closing paren. Wikipedia links break. |
| Angle-bracket URL | Not yet | [a](<url with spaces>) | The brackets end up inside the href. |
| Autolinks in angle brackets | Supported | <https://x> <me@x.com> | |
| Bare URL autolink | Supported New in 1.7 | see https://x.com | Linked, with trailing punctuation left outside the link. |
| Reference-style links and images | Not yet | [t][id]
[id]: url | Reference and definition both render as literal text. |
| Images | Supported |  | |
| Heading anchors | Partial | [go](#section) | Works for ASCII. Non-ASCII letters are dropped from the slug, so "Héllo" is #hllo. |
| Custom heading ids | Not yet | ## T {#id} | Extension syntax. The braces are shown in the heading. |
| Feature | Status | Syntax | What the app does |
|---|---|---|---|
| Syntax highlighting | Supported | ```swift | highlight.js, themed for light and dark. |
| LaTeX math | Supported | $ $ $$ $$ | KaTeX. |
| Mermaid diagrams | Not yet | ```mermaid | Shown as a code block. |
Interactive checklists, notes and file attachments go beyond the Markdown standard and are counted as supported. Features that aren't Markdown syntax, such as tabs, the table of contents, search and PDF export, aren't listed. Tested 2026-10-11.