Markdown Tutorial: Learn Basic Syntax Fast
Learn Markdown fast with this markdown tutorial covering basic syntax, headings, lists, links, code blocks, and real-world docs tips. Start now.
Introduction: What Markdown Is and Why It Matters
Markdown is a lightweight markup language for formatting plain text with simple symbols. Instead of writing in Word or Google Docs, you use readable text that can become headings, lists, links, images, code blocks, tables, and more.
That makes Markdown useful in README.md files, project documentation, notes, blog posts, and static site generators such as Jekyll, Hugo, MkDocs, and Docusaurus. It also fits version control workflows on GitHub, GitLab, and Bitbucket, where the source file matters as much as the rendered result.
This markdown tutorial focuses on the core syntax first, then shows how to use it in real documentation workflows. If you want a practical starting point for project docs, README best practices pairs well with Markdown basics.
What Is Markdown?
Markdown is a markup language that uses simple symbols to format plain text. You can write # Heading, *italic*, or [link](url) in a file that stays easy to read before it is rendered.
The main difference between Markdown and HTML is speed and simplicity versus precision. Markdown is faster to write and easier to scan, while HTML gives you more control over structure and appearance. HTML uses tags like <h1> and <a>, so it is better when you need exact layout or more complex page structure.
Markdown is not a programming language. It does not run logic, store variables, or make decisions; it only describes how text should look.
CommonMark is the closest thing to a standard reference for Markdown, while GitHub Flavored Markdown adds extras such as tables, task lists, strikethrough, and auto-linking on GitHub. Different apps and platforms can render Markdown slightly differently, so support depends on where you use it.
How Do I Learn Markdown Fast?
The fastest way to learn Markdown is to start with the small set of patterns you use every day: headings, emphasis, lists, links, images, and code. Write a short note, preview it, then edit the raw text until the syntax feels familiar.
A good practice loop is simple:
- Write a short
README.mdor note. - Preview it in your editor.
- Fix one syntax rule at a time.
- Reuse the same patterns until they become automatic.
Tools like Visual Studio Code, Typora, Obsidian, and Notion make this easier because you can write in plain text and preview the result quickly. If you are documenting a project, a documentation template can help you practice Markdown in a real structure instead of isolated examples.
Basic Markdown Syntax Rules
Markdown usually works by placing simple symbols before text or around it, so the source stays readable even before rendering. Keep these rules in mind:
- Use one blank line between paragraphs and major blocks.
- Keep heading levels in order.
- Use consistent list indentation.
- Escape special characters when you want them to appear literally.
Because Markdown is plain text, it works well in documentation, technical writing, and version control systems where diffs need to stay readable.
How Do You Make Headings in Markdown?
Use # symbols for headings:
#for H1##for H2###for H3####for H4#####for H5######for H6
Example:
# Project Title
## Installation
### Configuration
Use headings in a logical order so readers can scan the document easily. In most documentation, one H1 is enough.
How Do You Bold and Italicize Text in Markdown?
Use double asterisks or double underscores for bold:
**bold text**__bold text__
Use single asterisks or single underscores for italics:
*italic text*_italic text_
Use bold for strong emphasis and italics for lighter emphasis. Avoid using both styles everywhere, because too much emphasis makes text harder to read.
How Do You Create Lists in Markdown?
Use hyphens, asterisks, or plus signs for unordered lists:
- Install dependencies
- Run the app
- Open the browser
Use numbers for ordered lists:
1. Clone the repo
2. Install dependencies
3. Start the server
For nested lists, indent consistently with spaces:
- Frontend
- Components
- Styles
- Backend
- API
- Database
GitHub Flavored Markdown also supports task lists:
- [ ] Draft the README
- [x] Add installation steps
Task lists are useful in GitHub, GitLab, and Bitbucket for tracking documentation or project work.
How Do You Add Links in Markdown?
Use inline links for most cases:
[MDN](https://developer.mozilla.org/)
Use reference-style links when the same URL repeats or you want cleaner prose:
[MDN][mdn]
[mdn]: https://developer.mozilla.org/
Choose descriptive anchor text instead of vague phrases like “click here.” Clear link text improves readability and accessibility.
How Do You Insert Images in Markdown?
Use image syntax with alt text:

Alt text matters for accessibility because screen readers use it to describe the image. If the image is decorative, keep the alt text short or empty when the platform allows it.
Use relative paths for files in a repository and absolute URLs for hosted images. In documentation, make sure the image adds value instead of repeating nearby text.
How Do You Format Code in Markdown?
Use inline code for short references such as filenames, commands, or variable names:
Use `npm install` to install dependencies.
Use fenced code blocks for longer examples:
const name = "Markdown";
console.log(name);
Fenced code blocks support syntax highlighting when you add a language tag such as js, bash, or json. This is especially useful in technical writing and README files where code examples need to be easy to scan.
Use blockquotes for notes, warnings, or quoted material:
Note: keep code examples short and focused.
How Do You Make a Table in Markdown?
Use pipes and a separator row:
| Name | Role |
| --- | --- |
| Markdown | Plain text formatting |
| HTML | Structured markup |
You can align columns with colons:
| Left | Center | Right |
|:---|:---:|---:|
Tables are useful for comparing a few items, but they become hard to read when cells contain long text or many columns. If that happens, use a list or HTML instead.
How Do You Escape Special Characters in Markdown?
Use a backslash before characters that would otherwise trigger formatting:
\* \# \_ \| \[ \] \( \)
Escape characters when you need to show literal Markdown syntax, such as in a tutorial, a cheat sheet, or a code example. This prevents accidental headings, emphasis, links, or table breaks.
What Is the Difference Between Markdown and HTML?
Markdown is designed for fast writing and readable source text. HTML is designed for precise structure and presentation control.
Use Markdown when you want simple, portable documentation. Use HTML when you need custom layout, embedded elements, or formatting that Markdown does not support well.
In many workflows, Markdown is converted to HTML during publishing, which is why tools like Jekyll, Hugo, MkDocs, Docusaurus, and Pandoc are common in documentation systems.
Is Markdown Easy for Beginners?
Yes. Markdown is usually easy for beginners because the syntax is small, readable, and forgiving. A new writer can learn headings, lists, links, and code blocks quickly without memorizing a large rule set.
The main challenge is consistency. Beginners often forget blank lines, mix indentation styles, or use the wrong heading level. Once those habits are fixed, Markdown becomes straightforward.
What Are the Most Common Markdown Mistakes?
The most common mistakes are:
- Missing spaces after list markers
- Inconsistent indentation in nested lists
- Skipping heading levels
- Forgetting to escape special characters
Markdown can render differently across platforms. GitHub Flavored Markdown, Notion, Obsidian, and other editors support slightly different features, so a file that looks perfect in one place may shift in another. Always preview in the target platform when possible.
What Is GitHub Flavored Markdown?
GitHub Flavored Markdown is GitHub’s extended version of Markdown. It includes features such as tables, task lists, strikethrough, and auto-linking for URLs and issue references where supported.
It is widely used in GitHub repositories, especially in README.md files and documentation. GitLab and Bitbucket also support Markdown, but their rendering can differ in small ways, so check the platform you are publishing to.
What Tools Can I Use to Write and Preview Markdown?
Common tools include:
- Visual Studio Code: good for editing, previewing, and extensions
- Typora: live preview with a clean writing experience
- Obsidian: useful for linked notes and personal knowledge bases
- Notion: helpful for team docs and collaborative writing
For documentation teams, the best tool is usually the one that matches the publishing workflow. If the final destination is GitHub, GitLab, Bitbucket, or a static site generator, preview in that environment before publishing.
Can Markdown Be Used for README Files and Documentation?
Yes. Markdown is one of the most common formats for README.md files, project documentation, and technical writing because it is easy to read in plain text and easy to render in publishing systems.
A good README usually includes the project name, short description, installation steps, usage, configuration, examples, and links to deeper docs. For a stronger structure, use a documentation template and follow README best practices.
What Should a Markdown Cheat Sheet Include?
A useful cheat sheet should include:
- Headings
- Bold and italic text
- Lists and task lists
- Links and images
- Inline code and fenced code blocks
- Tables
- Escaping special characters
Keep it short enough to scan while writing, but complete enough to cover the patterns you use most often.
Does Markdown Support Task Lists and Strikethrough?
Yes, but support depends on the platform. GitHub Flavored Markdown supports both task lists and strikethrough, and many tools follow that behavior. In plain CommonMark, these features may not be available unless the platform adds them.
Examples:
- [ ] Draft the guide
- [x] Review the guide
~~old text~~
Why Does Markdown Render Differently Across Platforms?
Markdown renderers do not all implement the same feature set. CommonMark defines a baseline, but platforms often add extensions or interpret edge cases differently.
That is why a file may look one way in GitHub, another way in Notion, and another way in Obsidian. Differences often show up in tables, task lists, line breaks, auto-linking, and code block behavior.
To reduce surprises, write with simple syntax, preview in the target platform, and follow a team style guide. If your team needs consistency, a Markdown style guide helps standardize headings, lists, links, and code formatting.
Quick Markdown Tutorial Summary
Markdown is a plain text formatting system that is easy to learn, easy to preview, and widely used in documentation, technical writing, and version-controlled projects. Start with headings, emphasis, lists, links, images, and code, then add tables, task lists, and escaping rules as needed. If you keep your syntax simple and preview in the final platform, Markdown stays portable and reliable.