md101 is a learning repository for anyone who is new to Markdown. It explains how simple text symbols become headings, lists, links, tables, and well-organised documents.
No coding experience is needed. Start with one example, make a small change, and see what happens.
A repository, often called a repo, is a project’s home on GitHub. It holds files and keeps a history of changes. This file, README.md, introduces the project and doubles as your first tutorial.
Markdown is a lightweight markup language: a way to describe how text should look using simple symbols. It is not a programming language.
The .md at the end of a filename means it is a Markdown file. GitHub turns supported Markdown formatting into a readable page.
You type:
**Hello world**
You see:
Hello world
Think of Markdown as plain text with a few formatting instructions.
| Skill | What it helps you do |
|---|---|
| Headings and paragraphs | Give your document a clear structure |
| Bold and italic text | Draw attention to important words |
| Lists and checkboxes | Organise ideas and track tasks |
| Links and images | Connect readers to useful resources |
| Tables | Arrange information into rows and columns |
| Quotes and code blocks | Make examples easy to recognise |
practice.md.You can read this entire tutorial on GitHub without installing anything. When practising, keep a blank line between different sections of your document.
Type a hash symbol, a space, and your heading. More hashes create a lower-level heading. There are six levels.
# Main title
## Section heading
### Smaller section
Try it: Make a main heading called “My First Document”.
Type normally. Leave a blank line between paragraphs.
Hello! I am learning Markdown.
This is my second paragraph.
Put two asterisks on each side for bold, or one for italic.
| You type | You see |
|---|---|
**Important** |
Important |
*A little emphasis* |
A little emphasis |
***Both together*** |
Both together |
Use a dash followed by a space for bullet points:
- Learn headings
- Practise lists
- Build a table
Use numbers followed by a full stop and a space for steps:
1. Write your text.
2. Preview the result.
3. Save your changes.
GitHub also supports task lists. Use [ ] for an unfinished task and [x] for a completed one:
- [x] Create a heading
- [ ] Add a table
- [ ] Try a link
A link has clickable words in square brackets and an address in parentheses:
[Explore md101](https://github.com/zezadercksen/md101)
An image uses the same pattern with ! at the beginning:

The image example works after you add a file named my-photo.jpg inside an images folder. Replace the path with your own image’s location.
Start a quote with > and a space:
> Every expert was once a beginner.
Add a dividing line with three dashes. Leave a blank line before and after it:
Text above the line.
---
Text below the line.
Wrap a short piece of code in single backticks, like \README.md``.
For a code box, place three backticks on a line before and after your text:
```
Your example goes here.
**These stars remain visible inside the code box.**
```
To display a formatting symbol as ordinary text, put a backslash before it:
\*These stars will appear in the text.\*
Tables are useful for schedules, learning plans, and comparisons. GitHub supports them through GitHub Flavored Markdown, its version of Markdown with extra features.
Use a pipe symbol (|) to separate columns.
| Topic | Progress |
Put at least three dashes under each heading, keeping the pipes.
| Topic | Progress |
| --- | --- |
| Topic | Progress |
| --- | --- |
| Headings | Complete |
| Lists | Complete |
| Tables | Learning |
Your finished table looks like this:
| Topic | Progress |
|---|---|
| Headings | Complete |
| Lists | Complete |
| Tables | Learning |
Add colons to the separator row to choose where text sits.
| Separator | Alignment |
|---|---|
:--- |
Left |
:---: |
Centre |
---: |
Right |
Remember: Leave a blank line before a table, keep the same number of cells in each row, and include the separator line. The spaces do not have to line up perfectly.
Copy this starter into practice.md and personalise it:
# My Markdown Journey
Hello! My name is **Your Name**.
I am learning *one step at a time*.
## My goals
- Write clear notes
- Create useful tables
- Build my first README
## My progress
| Skill | Status |
| --- | --- |
| Headings | Done |
| Tables | Practising |
| Links | Next |
## A useful link
[Markdown 101](https://github.com/zezadercksen/md101)
> Small steps still count.
Then try these changes:
| Problem | What to check |
|---|---|
| A heading looks like plain text | Add a space after # |
| Paragraphs run together | Leave a blank line between them |
| A table does not display | Add the separator row and check your editor supports tables |
| Bold formatting continues too far | Close the text with another pair of ** |
| An image does not appear | Check the file exists and the path matches its name |
| Symbols show inside a code box | That is expected: code boxes display your example literally |
Created by Zéza Dercksen as a welcoming place to learn Markdown from the beginning.
Suggestions, corrections, and clearer beginner examples are welcome.
This repository uses the MIT License.