Markdown cheat sheet
Markdown is plain text with a few marks in it: a hash in front of a line to make it a heading, asterisks around a word to emphasise it, a dash at the start of a line to make it a list item. This page lists the marks Markdown Studio understands, with the text you type on one side and the result it produces on the other — and the results are produced by the same renderer the editor uses, so this page is a record of what the product does rather than a description of it. The base is CommonMark, the published markdown specification most tools follow; six additions sit on top of it and are listed separately below, because a general markdown reference will not always cover them. Three things are worth knowing before you start. A fenced code block whose language you name wrongly, or in a name nothing here recognises, is shown as an ordinary code block and never as an error. When a formula or a diagram cannot be drawn, only that one block is replaced by a short note in its place and the rest of the document renders as usual. And a table wider than the space it is given scrolls sideways inside a frame of its own rather than squeezing its columns into ribbons.
Core markdown
| What you type | What you get | |
|---|---|---|
| Headings — one to six hashes at the start of the line, then a space; more hashes, smaller heading | ### Release notes #### Fixed in this version | Release notesFixed in this version |
| Bold and italic — one asterisk on each side for italic, two for bold | *Italic*, **bold**, and ***both at once***. | Italic, bold, and both at once. |
| Lists — a dash for bullets, a number and a dot for numbered ones; indent to nest | - A bullet - Another bullet - Indented under it 1. First 2. Second |
|
| Links — the words in square brackets, the address after them in round ones | [Markdown Studio](https://markdownstudio.org) | |
| Inline code — backticks around it inside a sentence; not a block, and not highlighted | Run `npm run build` before you publish. | Run |
| Code block — three backticks on their own line above and below; no language named, no highlighting | ``` plain block, no language named ``` | |
| Quotes — a greater-than sign at the start of every quoted line | > Every document stays on your device. > There is no server holding your text. |
|
| Horizontal rule — three or more dashes on a line of their own | Above the rule. --- Below it. | Above the rule. Below it. |
| Paragraphs and line breaks — a blank line starts a new paragraph; a single line break does not | One paragraph. A single line break keeps you in it. A blank line starts a new one. | One paragraph. A single line break keeps you in it. A blank line starts a new one. |
Extensions to core markdown
| What you type | What you get | |||||||
|---|---|---|---|---|---|---|---|---|
| Tables — cells between pipe characters, dashes under the header row | | Format | Extension | | --- | --- | | Markdown | .md | | Plain text | .txt | |
| ||||||
| Task lists — items that come out as boxes, ticked or empty | - [x] Draft the release note - [ ] Send it round |
| ||||||
| Strikethrough — two tildes on each side | ~~Superseded~~ and replaced. |
| ||||||
| Code with highlighting — name the language after the opening fence | ```ts const greeting: string = `hello`; ``` | | ||||||
| Formulas — TeX between dollar signs, one pair inline and two for a block | Inline $E = mc^2$, and a block:
$$
\int_0^1 x^2 \, dx = \frac{1}{3}
$$ | Inline , and a block: | ||||||
| Diagrams — a fenced block whose language is mermaid | ```mermaid flowchart LR Write[Write markdown] --> See[See it formatted] See --> Export[Export a file] ``` |
What is not here
A few things you may have met in other markdown tools are not part of what this page describes. A block of settings at the very top of a file, the kind some site generators read before the document starts, is not treated as settings here and is shown as part of the document. Double-bracket links between notes, the sort wiki-style note apps use, stay as plain text. A note or warning box written as a quote with a tag on its first line comes out as an ordinary quote. And any script or event handler written into a document as raw HTML is removed before anything is shown, which is why nothing in a document you open here can run.