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


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:
- A main heading and two subheadings
- A paragraph with bold and italic text
- An ordered list of your top 3 programming languages
- A code block with a simple function
- A table comparing two technologies
- 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: