Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Markdown uses ordinary text and punctuation to add structure and formatting. For the most portable starting point, use CommonMark’s core syntax for headings, lists, links, images, quotes and code. Tables, task lists and strikethrough are extensions in GitHub Flavored Markdown (GFM), not universal Markdown features, so check the renderer where your document will appear.

What Markdown syntax should you learn first?

Markdown is a plain-text format: punctuation conventions mark structure and inline formatting without requiring you to write HTML tags. John Gruber released it in 2004 with help from Aaron Swartz. Its design goal, quoted in the GFM specification, is to keep formatted documents readable as plain text.

“Markdown” does not name one identical implementation across every app. This guide uses CommonMark as its shared syntax baseline. CommonMark formalizes core parsing rules and provides a quick reference; its project describes the specification as having over 500 embedded examples used as conformance tests (CommonMark project, accessed 2026). CommonMark and its quick reference are useful companions.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I make a heading or paragraph?

ATX headings

Put one to six hash marks before the heading text. The number of marks sets the heading level:

# Page title
## Main section
### Subsection

A single hash mark makes a level-one heading; six make a level-six heading. CommonMark also supports Setext-style headings, where a line of equals signs under text creates a level-one heading and hyphens create a level-two heading:

Section title
-------------

Another section
===============

Paragraphs and line breaks

Write ordinary text as a paragraph. Separate paragraphs with a blank line. A newline alone does not always create a visible line break; exact line-break behavior can vary between Markdown implementations. If the distinction matters, preview the text in the destination renderer.

How do I make text italic or bold?

Surround text with asterisks or underscores. One marker on each side makes emphasis (usually rendered as italics); two make strong emphasis (usually rendered as bold):

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
*italic* and _italic_
**bold** and __bold__

Use emphasis to clarify meaning rather than decorate every sentence. Underscore behavior around other characters can depend on parsing context, so asterisks are often the clearer choice in prose.

How do I add a list?

Unordered lists

Start each item with a hyphen, asterisk or plus sign followed by a space. Hyphens are easy to scan:

- First item
- Second item
  - Nested item

Ordered lists

Start items with a number followed by a period or closing parenthesis and a space:

1. First step
2. Second step
3. Third step

Indent nested items beneath the parent item. CommonMark has specific list parsing rules: changing the delimiter can start a new list, and indentation affects whether following content belongs to an item. For complicated nesting or lists that include paragraphs or code, check the rendered result in the destination app.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I write a block quote or divider?

Block quotes

Place a greater-than sign and a space before quoted text. Prefix each paragraph line when writing a multiline quote:

> A quoted paragraph.
>
> A second paragraph in the same quote.

Block quotes can contain other block elements, including paragraphs and lists. Add the quote marker to nested content as needed.

Thematic breaks

Use three or more hyphens or asterisks on a line by themselves to create a thematic break:

---

***

How do I write a link or image?

Links

Put the clickable label in square brackets, immediately followed by the destination in parentheses:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
[CommonMark](https://commonmark.org/)

You can also add an optional title in quotes inside the parentheses. CommonMark supports reference-style links too, which separate the link label from its destination and can be useful when reusing the same destination.

Images and alt text

Image syntax is like link syntax with an exclamation mark before the opening bracket. The bracketed text is alternative text describing the image:

![A brief description of the image](image-url)

Write alt text that conveys the image’s relevant information rather than its file name. The exact way an image is displayed depends on the destination app.

How do I format code?

Inline code

Put single backticks around a short code expression, command or literal value:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Use `npm install` to install the package.

Multiline code blocks

Put a fence of three or more backticks or tildes before and after a code block. Fences make multiline examples easy to recognize and keep their line breaks:

```text
Line one
Line two
```

CommonMark also recognizes code blocks indented by four spaces. Fenced code blocks can include an optional language label after the opening fence; highlighting support is determined by the renderer.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why does my Markdown look different on GitHub?

Different Markdown dialects do not necessarily support the same syntax or parse every structure identically. CommonMark defines a formal core; GitHub Flavored Markdown is a strict superset of CommonMark and adds extensions. GitHub also performs additional post-processing and sanitization after converting GFM to HTML. That means a rendered result can depend on both the dialect and the platform’s handling of the output.

The GFM specification available at GitHub Flavored Markdown is version 0.29-gfm, dated 2019-04-06. Its extensions include tables, task-list items and strikethrough. Do not assume those features work in every Markdown editor or publishing system.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Does Markdown support tables, task lists and strikethrough?

These are common additions in GFM, but they are not part of the CommonMark core syntax. A GFM table uses pipes to separate cells and a row of hyphens, optionally with colons, to mark column alignment:

| Name | Status |
| --- | --- |
| Draft | In progress |
| Guide | Complete |

A GFM task list uses a checkbox marker inside a list item; strikethrough wraps text in two tildes:

- [x] Check links
- [ ] Review headings

~~Removed text~~

Use these when you know the destination supports GFM. For content that must travel between different renderers, stick to CommonMark core syntax or verify each target’s supported extensions.

How can I keep Markdown portable?

  • Identify the destination app or renderer before relying on extensions such as tables, task lists or strikethrough.
  • Use CommonMark core forms for basic structure and formatting when portability matters.
  • Preview complex nested lists, quotes and code blocks in the target renderer; indentation and punctuation affect parsing.
  • Check how the destination handles raw HTML, since platforms may process or sanitize generated HTML.

CommonMark’s quick reference demonstrates the core forms, and the project links to a free interactive tutorial and its formal specification. GFM’s specification identifies its extensions and describes GitHub’s further HTML processing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.