The Ultimate Markdown Guide

Welcome to your complete guide to Markdown. Markdown is a lightweight markup language with plain-text-formatting syntax. It’s designed so that it can be converted to HTML and many other formats using a tool by the same name. It is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.

Why Use Markdown?

  • Simplicity: The syntax is easy to learn and read, focusing on writing rather than complex formatting buttons.
  • Portability: As plain text, Markdown files can be opened by virtually any text editor on any device.
  • Flexibility: It can be converted into a wide range of formats, including HTML, PDF, and more.
  • Platform Support: Widely used on platforms like GitHub, Reddit, Trello, and right here at MarkMind AI!

Basic Syntax

These are the fundamental elements you'll use most often.

Headings

To create a heading, add hash marks (#) in front of a word or phrase. The number of hash marks determines the level of the heading.

ElementMarkdown SyntaxRendered Output
Heading 1
# Heading 1

Heading 1

Heading 2
## Heading 2

Heading 2

Heading 3
### Heading 3

Heading 3

Paragraphs & Line Breaks

To create paragraphs, use a blank line to separate one or more lines of text. For a simple line break (a <br> tag in HTML), end a line with two or more spaces, then press Enter.

ElementMarkdown SyntaxRendered Output
Paragraph
First paragraph.

Second paragraph.

First paragraph.

Second paragraph.

Line Break
First line.  
Second line.

First line.
Second line.

Emphasis

You can add emphasis to text by making it bold, italic, or both.

ElementMarkdown SyntaxRendered Output
Bold
**Bold text** or __Bold text__

Bold text

Italic
*Italic text* or _Italic text_

Italic text

Bold & Italic
***Bold and Italic***

Bold and Italic

Strikethrough
~~Strikethrough~~

Strikethrough

Blockquotes

To create a blockquote, add a > in front of a paragraph.

ElementMarkdown SyntaxRendered Output
Blockquote
> This is a blockquote.

This is a blockquote.

Lists

You can organize items into ordered and unordered lists.

ElementMarkdown SyntaxRendered Output
Unordered List
- First item
- Second item
  - Nested item
  • First item
  • Second item
    • Nested item
Ordered List
1. First item
2. Second item
3. Third item
  1. First item
  2. Second item
  3. Third item

Code

To denote a word or phrase as code, enclose it in backticks (`).

ElementMarkdown SyntaxRendered Output
Inline Code
Use `console.log()` to print.

Use console.log() to print.

Horizontal Rules

To create a horizontal rule, use three or more asterisks (***), dashes (---), or underscores (___) on a line by themselves.

ElementMarkdown SyntaxRendered Output
Horizontal Rule
---

To create a link, enclose the link text in brackets followed immediately by the URL in parentheses.

ElementMarkdown SyntaxRendered Output
Link
[MarkMind AI](https://www.markmind.dev/)

Images

The syntax for images is similar to links, but with a preceding exclamation mark. Enclose the alt text in brackets, followed by the image URL in parentheses.

ElementMarkdown SyntaxRendered Output
Image
![Tux, the Linux mascot](/favicon.ico)

![Tux, the Linux mascot](data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cdefs%3e%3clinearGradient id='iconGradient' x1='0' y1='0' x2='1' y2='1'%3e%3cstop offset='0%25' stop-color='%234f46e5'/%3e%3cstop offset='100%25' stop-color='%23818cf8'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath fill='url(%23iconGradient)' d='M4 28V4h6l6 12L22 4h6v24h-6V10l-6 12-6-12v18H4z'/%3e%3c/svg%3e)

Extended Syntax

These elements extend the basic syntax to include features like tables, fenced code blocks, and more.

Tables

To add a table, use three or more hyphens (---) to create each column’s header, and use pipes (|) to separate each column.

ElementMarkdown SyntaxRendered Output
Table
| Syntax | Description |
| --- | --- |
| Header | Title |
| Paragraph | Text |
Syntax Description
Header Title
Paragraph Text

Fenced Code Blocks

Create fenced code blocks by placing triple backticks ``` before and after the code block. You can add an optional language identifier to enable syntax highlighting in many renderers.

ElementMarkdown SyntaxRendered Output
Fenced Code Block
```javascript
console.log('Hello, Markdown!');
```
console.log('Hello, Markdown!');

Task Lists

Task lists allow you to create a list of items with checkboxes.

ElementMarkdown SyntaxRendered Output
Task List
- [x] Write the press release
- [ ] Update the website
- [ ] Contact the media
  • Write the press release
  • Update the website
  • Contact the media

Escaping Characters

To display a literal character that would otherwise be used for formatting, add a backslash (\) in front of it.

ElementMarkdown SyntaxRendered Output
Escaping
\\*Without the backslash, this would be a bullet point.\\*

\Without the backslash, this would be a bullet point.\