The Complete Markdown Guide for Beginners

Master Markdown from scratch with practical examples and real-world exercises.

What is Markdown?

Markdown is a lightweight markup language created by John Gruber in 2004. It's designed to be easy to read and write, using simple text formatting that converts to HTML. Today, Markdown is everywhere: GitHub READMEs, documentation, blog posts, notes apps, and even messaging platforms like Slack and Discord.

The beauty of Markdown lies in its simplicity. You don't need to remember complex HTML tags or use a rich text editor. Just type plain text with a few special characters, and you're done.

Basic Text Formatting

Bold and Italic

The most common text formatting options:

**bold text**
*italic text*
***bold and italic***
~~strikethrough~~

Renders as: bold text, italic text, bold and italic, strikethrough

Headings

Markdown supports six levels of headings using the # symbol:

# Heading 1 (Largest)
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6 (Smallest)

Use headings to structure your document hierarchically. H1 for the main title, H2 for major sections, H3 for subsections, and so on.

Lists

Unordered Lists

Use asterisks, plus signs, or hyphens:

- Item one
- Item two
  - Nested item
  - Another nested item
- Item three

Ordered Lists

Use numbers followed by periods:

1. First item
2. Second item
3. Third item
   1. Nested numbered item
   2. Another nested item

Task Lists

Great for to-do lists (supported in GitHub Flavored Markdown):

- [x] Completed task
- [ ] Incomplete task
- [ ] Another task

Links and Images

Links

[Link text](https://example.com)
[Link with title](https://example.com "Hover text")

Images

![Alt text](image-url.png)
![Alt text](image-url.png "Image title")

Notice the exclamation mark before images - that's the only difference from links.

Code Blocks

Inline Code

Use backticks for code within a sentence:

Use the `console.log()` function to debug.

Code Blocks with Syntax Highlighting

Use triple backticks with a language identifier:

```javascript
function greet(name) {
    return `Hello, ${name}!`;
}
```

Supported languages include: javascript, python, java, html, css, bash, json, sql, and 100+ more.

Tables

Create tables using pipes and hyphens:

| Name | Age | City |
|------|-----|------|
| Alice | 28 | New York |
| Bob | 34 | London |
| Carol | 25 | Tokyo |

Alignment can be controlled with colons:

| Left | Center | Right |
|:-----|:------:|------:|
| Text | Text | Text |

Blockquotes

Use the greater-than symbol for quotes:

> This is a blockquote.
> It can span multiple lines.
>
> And even have multiple paragraphs.

Horizontal Rules

Separate sections with horizontal lines:

---

***

___

All three variations produce the same result.

Escaping Characters

If you need to display special characters literally, use a backslash:

\* Not italic \*
\** Not bold \**
\# Not a heading

Practice Exercise

Try creating a document with ConvertMD2PDF that includes:

  1. A main heading and two subheadings
  2. A paragraph with bold and italic text
  3. An ordered list of your top 3 programming languages
  4. A code block with a simple function
  5. A table comparing two technologies
  6. A blockquote from your favorite book or movie

Open ConvertMD2PDF and start practicing!

Next Steps

Now that you know Markdown basics, explore these advanced topics: