Skip to content

Writing Markdown ​

Typora reads and writes standard Markdown (CommonMark and GitHub Flavored Markdown) plus a few widely used extensions. You can type the syntax directly — Typora renders it as you go — or insert things from the / menu and the Format and Paragraph menus.

This page is the syntax reference. For commands that select, move and rearrange text, see Editing.

Some syntax is optional and switched in Settings ▸ Markdown ▸ Syntax and Math. The tables below show the default.

Blocks ​

ElementTypeNotes
Heading# Title … ###### TitleSetext (=== / --- underlines) is read too. Settings ▸ Markdown ▸ Heading Style picks which one Typora writes.
Paragraphtext separated by a blank line
Blockquote> quote
Alert (callout)> [!NOTE]NOTE, TIP, IMPORTANT, WARNING, CAUTION — GitHub style.
Bulleted list- item (also *, +)Unordered List Marker sets which marker Typora writes.
Numbered list1. item or 1) item
Task list- [ ] todo / - [x] doneClick the checkbox to toggle.
Code block```lang … ```Syntax highlighting for most languages.
TableGitHub pipe tableSee Tables.
Math block$$ … $$LaTeX, typeset with MathJax.
Horizontal rule--- or ***
Front matter--- YAML block at the very topSee Front Matter.
Table of contents[toc] on its own lineUpdates as headings change.
Footnote definition[^1]: Note text.
Link reference definition[id]: https://example.com
HTML blockraw HTML
Page break/ menu ▸ Page BreakBreaks pages in PDF export and print.
Custom container::: name Title … :::Off by default — Custom Containers.

Typing shortcuts for blocks ​

At the start of a line, typing # , > , - , 1. or - [ ] converts the block immediately. Typing ```, $$, --- or the first row of a table and pressing Enter creates a code block, math block, rule (or front matter at the top) or table.

Inline formatting ​

ElementTypeShortcutDefault
Bold**bold** or __bold__Mod+Bon
Italic*italic* or _italic_Mod+Ion
Underline<u>underline</u>Mod+Uon
Strikethrough~~struck~~on
Inline code`code`on
Link[text](https://example.com "title"), [text][id] — see Linkson
Autolink<https://example.com>, bare https://… and www.…on
Image![alt](path/to/image.png) — see Imageson
Footnote[^1]on
Emoji:smile:on
Inline math$E = mc^2$on — Inline Math
LaTeX delimiters\(…\) and \[…\]on — LaTeX Math Delimiters
Wiki link[[Page]], [[Page|label]], [[Page#Heading]]on — Wiki Links
Embed![[image.png|300]], ![[Note]]on — Wiki Links
Highlight==marked==off — Highlight
Superscriptx^2^off — Superscript
SubscriptH~2~Ooff — Subscript
Comment%%note to self%%off — Comments
Review marks{++add++}, {--delete--}, {~~old~>new~~}, {==mark==}, {>>note<<}off — CriticMarkup
Citation[@doe2020], @doe2020on — see Citations
Inline HTML<span style="color:red">…</span>, <br>, <!-- comment -->on
Line breaktwo trailing spaces, or \ at the end of a lineon

Clear Format (Mod+\) removes inline formatting from the selection. Custom formats — coloured text and highlights out of the box — are in Format ▸ Custom Formats; you can add your own in Settings ▸ Markdown ▸ Custom Formats.

Wiki links point to other Markdown files: a target without an extension gets .md. ![[…]] embeds an image, or shows a card for another document.

Comments and review marks stay in the file for whoever edits it next. A %%…%% comment is left out of every export. CriticMarkup shows insertions, deletions and highlights the way a tracked change does; its {>>…<<} notes are left out of exports, except Word, where the edits become tracked changes and each note a comment on the {==…==} text just before it.

Math ​

Typora typesets LaTeX with MathJax, including mhchem for chemistry. See Math.

Diagrams ​

Fenced code blocks in mermaid, flow and sequence render as diagrams. See Diagrams.

Code blocks ​

Write the language after the opening fence to get syntax highlighting. See Code Blocks.

HTML ​

Markdown can contain inline and block HTML, including video, audio and embeds. See HTML.

Table of contents ​

Type [toc] on its own line and press Enter to insert a table of contents that updates as headings change. Its toolbar also offers the Jekyll form, - Outline followed by {:toc}. Exports include it. The Outline tab shows the same headings beside the document.

Autocomplete ​

Type / for the slash menu. Typora also autocompletes emoji after :, code-fence languages, file paths in links and images, LaTeX commands in math, and citation keys after @.

See also Typing Helpers and Whitespace and Line Breaks.

Strict Mode ​

Settings ▸ Markdown ▸ Strict Mode (off) follows the GFM rules for heading and list indentation exactly. It applies when a document is opened.

Theme adapted from Nimbus (MIT).