MarkDown Reader › Markdown support

Which Markdown MarkDown Reader reads

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.

Block structure 16 / 27
Inline formatting 7 / 13
Links and media 4 / 9
Rendering extensions 2 / 3

SupportedPartialNot yet

Block structure

FeatureStatusSyntaxWhat 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.

Inline formatting

FeatureStatusSyntaxWhat 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 &copy; &nbsp; Render as the character, so &copy; 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.

Links and media

FeatureStatusSyntaxWhat 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 ![alt](src "title")
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.

Rendering extensions

FeatureStatusSyntaxWhat 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.