Appearance
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
| Element | Type | Notes |
|---|---|---|
| Heading | # Title … ###### Title | Setext (=== / --- underlines) is read too. Settings ▸ Markdown ▸ Heading Style picks which one Typora writes. |
| Paragraph | text 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 list | 1. item or 1) item | |
| Task list | - [ ] todo / - [x] done | Click the checkbox to toggle. |
| Code block | ```lang … ``` | Syntax highlighting for most languages. |
| Table | GitHub pipe table | See Tables. |
| Math block | $$ … $$ | LaTeX, typeset with MathJax. |
| Horizontal rule | --- or *** | |
| Front matter | --- YAML block at the very top | See Front Matter. |
| Table of contents | [toc] on its own line | Updates as headings change. |
| Footnote definition | [^1]: Note text. | |
| Link reference definition | [id]: https://example.com | |
| HTML block | raw HTML | |
| Page break | / menu ▸ Page Break | Breaks 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
| Element | Type | Shortcut | Default |
|---|---|---|---|
| Bold | **bold** or __bold__ | Mod+B | on |
| Italic | *italic* or _italic_ | Mod+I | on |
| Underline | <u>underline</u> | Mod+U | on |
| Strikethrough | ~~struck~~ | on | |
| Inline code | `code` | on | |
| Link | [text](https://example.com "title"), [text][id] — see Links | on | |
| Autolink | <https://example.com>, bare https://… and www.… | on | |
| Image |  — see Images | on | |
| 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 | |
| Superscript | x^2^ | off — Superscript | |
| Subscript | H~2~O | off — Subscript | |
| Comment | %%note to self%% | off — Comments | |
| Review marks | {++add++}, {--delete--}, {~~old~>new~~}, {==mark==}, {>>note<<} | off — CriticMarkup | |
| Citation | [@doe2020], @doe2020 | on — see Citations | |
| Inline HTML | <span style="color:red">…</span>, <br>, <!-- comment --> | on | |
| Line break | two trailing spaces, or \ at the end of a line | on |
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.