Skip to content
Aspi 101

Markdown for Complete Beginners

Zero experience required

Format text with plain characters — no toolbar buttons, no locked-in files. The language behind GitHub READMEs, Obsidian notes, and this guide.

The Big Picture

Before learning syntax, understand what problem Markdown actually solves.

Sound familiar?

You save Report.docx, then Report_v2.docx, then Report_FINAL.docx. Copy formatted text into an email and the layout breaks. Click Bold, click Heading, hunt for toolbar buttons — and the file only works in that one app.

Markdown lets you format text using plain characters you type directly.
Write # Heading instead of clicking "Heading 1." Write **bold** instead of selecting text and clicking Bold.
  • Plain text — open any .md file in any editor and read it immediately
  • Portable — formatting travels with the file, not locked in one app
  • Fast — your hands never leave the keyboard
  • Universal — GitHub, Obsidian, Slack, Discord, and hundreds more
  • Forgiving — small mistakes usually still render fine

The Typewriter Analogy

A blank sheet of paper→A .md text file
ALL CAPS for a title→# Heading
Underlining for emphasis→**bold** or *italic*
Indenting a bullet list→- item
Writing "see page 42"→[link text](url)
A sticky note in the margin→> blockquote

Key Terms

Plain English definitions — no dictionary required.

Markdown

A lightweight markup language — add simple characters to plain text to describe formatting.

.md file

A text file with the .md extension. Same as .txt but signals Markdown formatting.

Syntax

The specific characters Markdown recognizes — # for headings, ** for bold.

Render / Preview

Converting raw Markdown into formatted output — big headings, clickable links, bold text.

Flavor / Variant

Different apps extend Markdown slightly. GitHub adds tables; Obsidian adds wikilinks.

Fenced code block

Multi-line code surrounded by triple backticks ``` — the standard way to include code.

What Is a .md File?

Nothing magic — just a text file with a special extension.

A Markdown file is just a text file. Create one in any editor, save with .md, open in a Markdown-aware app for live preview.

What you type
# My Project
 
This is **bold** and *italic*.
 
- Easy to learn
- Works everywhere
What it renders as

My Project

This is bold and italic.

  • Easy to learn
  • Works everywhere
The raw file always stays readable. Even if preview breaks, you can still read the content.

Headings & Paragraphs

Structure your document like chapter titles and section headers.

Headings
# Heading 1 — largest (document title)
## Heading 2 — major sections
### Heading 3 — subsections
#### Heading 4

Separate paragraphs with a blank line:

This is the first paragraph.

This is the second paragraph.
Put a space after the # symbols. #Heading may not work in all apps. Always write # Heading.

Bold, Italic & More

What you type

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

What you get

bold
italic
bold and italic
strikethrough
Pick one style and stick with it. Most people use asterisks (**bold**, *italic*) rather than underscores.

Lists

Bullet & numbered lists
# Unordered (bullets)
- First item
- Second item
  - Nested item (indent 2 spaces)

# Ordered (numbers)
1. First step
2. Second step
3. Third step

Images

Image syntax
# Basic image
![alt text describing the image](https://example.com/image.png)

# Image that is also a link
[![Click this image](thumbnail.png)](https://example.com)

Alt text describes the image for screen readers and when the image fails to load. Always include it.

Code & Code Blocks

Inline & fenced code
# Inline code (within a sentence)
Use the `git status` command to see what changed.

# Fenced code block (multi-line)
```bash
git clone https://github.com/user/repo.git
cd repo
git status
```

# Add language name for syntax highlighting
```python
def greet(name):
    print(f"Hello, {name}!")
```

Blockquotes & Callouts

Blockquotes
> This is a quoted passage.
> It can span multiple lines.
>
> — Attribution optional

Obsidian callouts (Obsidian only)

Callout boxes
> [!NOTE]
> Useful information the reader should know.

> [!TIP]
> Helpful advice.

> [!WARNING]
> Something to watch out for.

Tables

Part of GitHub Flavored Markdown — works in GitHub, Obsidian, and most modern editors.

Table syntax
| Column A | Column B | Column C |
|----------|----------|----------|
| Row 1    | Data     | More     |
| Row 2    | Data     | More     |

# Alignment: :--- left, :---: center, ---: right
| Left     | Center   | Right    |
|:---------|:--------:|---------:|
| aligned  | aligned  | aligned  |

Task Lists

Checkboxes
- [ ] Unchecked task
- [x] Completed task
- [ ] Another thing to do
The space inside brackets matters: [ ] not [].

Where You'll Use Markdown

🐙
GitHub

READMEs, issues, PRs

💎
Obsidian

Every note in your vault

⌨️
Cursor / VS Code

Docs & project notes

💬
Slack / Discord

Quick message formatting

📝
Static sites

Blogs via Eleventy, Hugo

📖
This guide

You're reading MD now

Continue learning: GitHub guide (where .md files live in repos) · Obsidian guide (Markdown-powered linked notes)

GitHub vs. Obsidian

Not all Markdown is identical — here's what differs.

FeatureStandard MDGitHub (GFM)Obsidian
Headings, bold, listsYesYesYes
TablesSometimesYesYes
Task lists - [ ]NoYesYes
Strikethrough ~~NoYesYes
Wikilinks [[note]]NoNoYes
Callouts > [!NOTE]NoNoYes
Rule of thumb: Stick to standard syntax and your files work everywhere. Add Obsidian-specific features only in Obsidian vaults.

Common Mistakes

MistakeWhat happensFix
No space after #Heading doesn't renderWrite # Heading
Missing blank line before listList merges into paragraphAdd blank line before - item
Unclosed ** or backtickFormatting runs to end of fileCount opening and closing markers
Broken link syntaxRaw text shows instead of linkCheck: [text](url)
Pasting from WordHidden formatting garbagePaste as plain text, re-add MD
Huge tablesPainful to edit by handLink to a spreadsheet instead

Markdown vs. Other Formats

FormatWhat it isWhen to use it
Markdown (.md)Plain text with formatting charactersNotes, docs, READMEs, Git/Obsidian
Word (.docx)Proprietary rich documentFormal reports, track changes
Google DocsCloud word processorReal-time collaboration on prose
HTML (.html)Web page markupPublished websites, precise layout
PDFFixed-layout final outputSharing finished, uneditable docs

Cheat Sheet

Essential syntax
# Heading 1
## Heading 2
### Heading 3

Regular paragraph. Blank line between paragraphs.

**bold**  *italic*  ~~strikethrough~~  `inline code`

- Bullet item
  - Nested bullet
1. Numbered item

- [ ] Task unchecked
- [x] Task done

[Link text](https://url.com)
![Alt text](image.png)

> Blockquote

| Col 1 | Col 2 |
|-------|-------|
| data  | data  |

---
Horizontal rule

Glossary

TermDefinition
MarkdownPlain-text formatting syntax using #, *, -, etc.
.md fileA text file containing Markdown content
RenderConvert raw Markdown into formatted visual output
GFMGitHub Flavored Markdown — adds tables, task lists, strikethrough
WikilinkObsidian-style link: [[Note Title]]
Fenced code blockMulti-line code surrounded by triple backticks
BlockquoteQuoted text starting with >
Alt textImage description for accessibility
FlavorAn app's specific extensions to standard Markdown
CommonMarkA standardized specification of core Markdown syntax

You don't need to memorize every syntax rule. Start with headings, bold, lists, and links — then look up the rest as you need it.

GitHub · HTML · Skills · Cursor · All 101 Guides · Markdown Version