The Complete Beginner's Guide to Markdown
Markdown was born as a small idea with big consequences: in 2004 John Gruber and Aaron Swartz created a plain-text way to write for the web that reads like normal text but converts to HTML easily. That mix — readable source plus wide compatibility — is exactly why Markdown still matters for writers, engineers, and teams who want content that lasts.
What is Markdown and why should you use it?
Markdown is a lightweight markup language that makes plain text readable and easy to convert to HTML. According to sources, "Markdown is a lightweight markup language designed for easy readability and writing on the web." That means the file you write still looks like a document even before it’s rendered, and that brings two big advantages: portability and speed.
- Portability: Markdown files are plain text. According to sources, "Markdown files can be created using any text editor on any computer." That keeps your content usable long term.
- Speed: You write formatting with simple characters instead of menus. Once you learn the small set of rules, you can write faster than clicking formatting buttons.
- Readability: The source is meant to be human readable. That makes reviews, diffs, and collaboration easier.
Markdown is plain text with rules. That small rule set is what gives it power: you can read, edit, share, and render the same file across tools and platforms.
How do you write basic Markdown? (The essentials you’ll use every day)
The core of Markdown is tiny. Learn these elements and you can write almost anything.
- Headings: use # for H1 down to ###### for H6.
- Bold and italic: wrap text with double stars for bold, single stars or underscores for italics.
- Lists: start lines with - or * for unordered lists; 1. 2. for ordered lists.
- Links: link text
- Images:

- Code: inline
codewith backticks; fenced code blocks with three backticks ``` around multi-line code and an optional language tag.
Start with the strongest claim: these are the features you’ll use constantly. Here are quick examples you can copy:
- Heading: # Project plan
- Bold/italic: important, note
- Link: The site
- Image:

- Code block:
def hello(): print("Hello, Markdown")
These essentials are supported by the vast majority of Markdown processors. According to sources, "Markdown supports basic formatting elements such as headings, lists, bold and italic text, links, images, and code blocks."
How do you format lists, links, images, and code the right way?
Write the rule you need first; then see a short example and a note about the common pitfall.
-
Lists: Start each item on its own line. Nested lists need consistent spaces.
- Example:
- Item one
- Subitem (two spaces indentation)
- Item one
- Pitfall: mixing tabs and spaces breaks nesting in several renderers.
- Example:
-
Links: Use descriptive text, not raw URLs.
- Example: Read the guide
- Pitfall: "Click here" links are bad for accessibility and search.
-
Images: Always add alt text for accessibility.
- Example:

- Pitfall: leaving alt text empty makes images invisible to screen readers.
- Example:
-
Code:
- Inline: Use backticks for short bits:
git status - Block: Use fenced code with language for syntax highlighting:
git commit -m "Add feature" - Pitfall: Forgetting the language tag loses highlighting and makes code harder to scan.
- Inline: Use backticks for short bits:
What advanced features should you learn next?
Once you know the basics, these features unlock better documents and collaboration.
- Tables: Not in original Markdown but supported by most flavors.
- Footnotes: Useful for citations — supported by MultiMarkdown and some renderers.
- Strikethrough:
deleted textworks in common flavors. - Task lists: - [ ] undone, - [x] done — handy for checklists in issues and notes.
- Fenced info blocks: Many tools support admonitions (notes/warnings) with simple syntax or HTML.
Example table (this will render in most readers):
| Feature | Common syntax | Where it's useful |
|---|---|---|
| Table | ` | Col |
| Footnote | Here[^1] / [^1]: note | Academic notes, long docs |
| Task list | - [ ] Task | Issue trackers, planning |
| Strikethrough | ~~text~~ | Draft edits, change logs |
Be aware: support varies by platform. We'll cover variants next.
Which Markdown variant should you expect to meet?
There is no single “official” Markdown. Different projects extended it. Know the main flavors so you can predict behavior.
| Variant | Who uses it | Notable extensions |
|---|---|---|
| Original Markdown | Small blogs, legacy docs | Basic syntax only |
| CommonMark | Tools that need a spec | More predictable parsing |
| GitHub Flavored Markdown (GFM) | GitHub, many open-source projects | Tables, task lists, mentions, fenced code |
| MultiMarkdown | Academic/technical writers | Footnotes, citations, tables |
| Markdown Extra | Some CMSs | Definitions, footnotes, fenced code |
Common differences:
- Tables and task lists usually come from flavors (GFM, MultiMarkdown).
- Footnotes appear in MultiMarkdown and some static-site generators.
- CommonMark exists to remove ambiguity in parsing.
If you collaborate on GitHub, learn GFM first. If you produce academic writing with citations, MultiMarkdown helps.
Which Markdown editor should you use? (Compare popular options)
Pick an editor by what you do: notes, writing, publishing, or coding. This table compares popular choices.
| Editor | Platform | Best for | Offline? | Cost |
|---|---|---|---|---|
| VS Code (with Markdown extensions) | Windows, macOS, Linux | Developers, mixed code+docs | Yes | Free |
| Typora | Windows, macOS, Linux | Writers who want WYSIWYG | Yes | Paid (trial) |
| Obsidian | Windows, macOS, Linux | Personal notes, linking | Yes (local-first) | Free/premium |
| Mark Text | Windows, macOS, Linux | Simple open-source editor | Yes | Free |
| HackMD / CodiMD | Web | Live collaboration | No (online) | Free/paid |
| GitHub web editor | Web | Repo docs, quick edits | No | Free |
How to choose:
- If you work in a repo and need diffs and commits, use VS Code + Git.
- If you want a distraction-free WYSIWYG that still saves Markdown, try Typora.
- For linked notes and knowledge bases, Obsidian is designed for networked thought.
- For collaborative editing and meeting notes, use HackMD or GitHub.
Each tool renders Markdown slightly differently. Test your target platform’s renderer if your formatting must be exact (tables, footnotes, task lists).
How do you convert Markdown to HTML, PDF, and other formats?
Markdown is often the source file for many outputs. Here are common export paths and tools.
- HTML: Most editors export to HTML. Static site generators (Jekyll, Hugo) convert Markdown to HTML as part of site building.
- PDF: You can print a rendered HTML to PDF, or use tools like Pandoc and wkhtmltopdf for more control.
- DOCX/LaTeX: Pandoc converts between Markdown and many document formats, including Word and LaTeX.
- Slides: Reveal.js and similar frameworks let you write slides in Markdown.
- E-books: Pandoc can build EPUB and MOBI from Markdown.
Simple Pandoc example (common tool):
- Convert Markdown to HTML: pandoc input.md -o output.html
- Convert Markdown to PDF: pandoc input.md -o output.pdf
Note: Conversion quality depends on your Markdown flavor and the extensions you used (footnotes, tables, custom HTML). If you rely heavily on platform-specific extensions, test the target format early.
How is Markdown used across major platforms like GitHub and WordPress?
Markdown behaves differently across platforms. Know the common cases so you don’t get surprised.
- GitHub: Uses GitHub Flavored Markdown (GFM). Adds task lists, mentions, checkboxes, tables, and automatic link rendering for URLs.
- GitLab: Similar to GitHub; supports many GFM features plus some project-specific ones.
- WordPress: Many themes/plugins accept Markdown but rely on a parser. The behavior will depend on the plugin.
- Static site generators (Jekyll/Hugo): Convert Markdown to HTML during build; can add shortcodes for complex content.
- Note apps (Obsidian, Notion): Each has its own renderer and extra features like backlinks or blocks.
If you publish to a platform, preview in that platform. Differences in table syntax, footnotes, or HTML passthrough can break rendering.
How does Markdown help accessibility?
Markdown can improve accessibility if you follow a few simple rules. This is a gap in many guides, but it matters for readers with disabilities.
- Use proper heading order: Start with H1 and use H2/H3 in order to create a logical structure. Screen readers rely on heading order to navigate.
- Write descriptive link text: Use [Read the API docs] instead of [Click here]. This helps people who navigate links out of context.
- Always include meaningful image alt text: Write alt text that conveys the purpose of the image, not just its filename.
- Use lists for lists: Tooling converts lists to HTML lists, which screen readers handle well.
- Label code blocks with language:
```pythonhelps tools display the code accessibly and enables better screen-reader scripts. - Avoid using images of text for main content: Plain text remains selectable and readable.
Small changes make a big difference. For public or team-facing docs, follow these rules from the start — accessibility is easier to add when the source is clean.
How can non-technical users get started with Markdown?
Markdown is not only for developers. Non-technical people can learn it fast with a practical path.
- Pick a friendly editor: Typora or Mark Text for WYSIWYG-like experience, or an online editor like Dillinger if you don’t want to install anything.
- Learn the six essentials (headings, lists, bold, italics, links, images). Practice with a simple document like a one-page bio.
- Save files with a .md extension. Any text editor can open them; this keeps your content portable.
- Use the editor’s preview to check rendering. Most editors show the rendered view side-by-side.
- Use templates: copy a README.md template or lesson plan and replace the text.
- Share as HTML or PDF when you need a fixed format.
Numbered steps give a clear start. I think non-technical people pick this up faster when they see results quickly, like exporting to PDF and sharing.
Markdown for technical writing and collaboration
Markdown fits naturally into technical workflows because it is plain text and plays well with version control.
- Version control: Plain text diffs are readable. You can track who changed a sentence, revert, or merge changes easily.
- Review workflows: Pull requests (GitHub/GitLab) let teams review docs the same way they review code.
- Reuse: Include code blocks with exact commands. Reuse sections via includes in static site generators.
- Documentation sites: Tools like Read the Docs and MkDocs build full docs from Markdown.
Example workflow:
- Write a feature doc in a branch as README.md.
- Open a pull request.
- Reviewers comment inline.
- Merge and have deployment pipeline publish docs automatically.
This is why many engineering teams adopt Markdown: the same tools they use for code work for docs too.
Common mistakes and how to avoid them
Many errors come from small habits. Fix these early to save time.
-
Mistake: Mixing tabs and spaces for nested lists.
Fix: Use consistent spaces (two or four) for indentation. -
Mistake: No blank line before a block element (like a list or code block).
Fix: Insert a blank line before and after lists and code blocks for consistent rendering. -
Mistake: Missing alt text for images.
Fix: Add descriptive alt text. If an image is decorative, use empty alt text![]()or meaningful markup depending on your renderer. -
Mistake: Using raw HTML when not needed.
Fix: Prefer Markdown first; use HTML only for layout that Markdown doesn’t support. HTML can break across renderers. -
Mistake: Relying on a feature that only one platform supports (like a specific shortcode).
Fix: If content must move across platforms, avoid platform-only features or provide fallbacks. -
Mistake: Long single lines without paragraphs (harder to review).
Fix: Wrap lines at a readable width (70–90 chars) so diffs are smaller and reviewers can comment easily.
These fixes are simple habits. They improve portability and reduce surprises when rendering on a new platform.
Quick Markdown cheat sheet (copyable reference)
| Purpose | Syntax | Example |
|---|---|---|
| Heading | # H1 ... ###### H6 | ## How it works |
| Bold | **bold** | bold |
| Italic | *italic* or _italic_ | italic |
| Bold + Italic | ***both*** | both |
| Unordered list | - item or * item | - item |
| Ordered list | 1. item | 1. item |
| Link | [text](url) | [Guide](https://example.com) |
| Image |  |  |
| Inline code | `code` | git status |
| Code block | lang ... | js console.log("hi") |
| Table | ` | a |
| Blockquote | > quote | > quote |
| Strikethrough | ~~text~~ | |
| Footnote | Text[^1] and [^1]: note | See footnote syntax |
| Task list | - [ ] - [x] | - [ ] todo |
Keep this table handy until the syntax becomes automatic.
How to publish Markdown on the web (simple paths)
Pick a path based on scale and control needed.
- Quick: Publish on GitHub as README.md — GitHub renders it automatically.
- Blog: Use a static site generator (Jekyll, Hugo) that turns Markdown into a full site and deploy to GitHub Pages or Netlify.
- CMS: Use a WordPress plugin that accepts Markdown or a headless CMS that stores Markdown and renders it client-side.
- Team docs: Use a docs platform like Read the Docs, MkDocs, or a shared markdown-based repo with a publishing pipeline.
Each path trades control for convenience. Static-site pipelines offer the most control (templating, custom CSS) but need setup. GitHub Pages is easiest if your content lives in a repo.
Troubleshooting: Why does my Markdown look wrong?
Start by isolating variables.
- Check the renderer: Different platforms parse subtle cases differently. Test the file in the same renderer as your target.
- Validate your syntax: Missing blank lines and incorrect indentation are the most common causes.
- Try a plain editor: Open the file in a simple text editor to ensure no hidden characters or smart quotes are interfering.
- Reduce to minimal example: Remove sections until the problem goes away, then add back to find the cause.
I find that the majority of rendering surprises come from small whitespace issues or flavor mismatches. Fix those first.
Where Markdown will (and won’t) save you time
Markdown saves time when:
- You write plain-text docs that need to be versioned, reviewed, or published.
- You mix prose and code (readme files, documentation).
- You want future-proof content that won’t be tied to a single proprietary format.
Markdown won’t help much when:
- You need precise, complex layout (magazine-style design).
- Your audience expects complex formatting inside a WYSIWYG tool (e.g., many marketers).
- You require fine-grained typesetting that LaTeX handles better.
Pick the right tool for the job. Markdown is excellent for clarity, speed, and long-term access, but it’s not a replacement for page layout software.
Final practical checklist to get started today
- Install a friendly editor: Typora for writers, VS Code for devs, Obsidian for notes.
- Create a file named README.md and try the basics: headings, lists, links, code.
- Preview and export to PDF or HTML to confirm output.
- Add descriptive alt text to images and clear link text.
- Store files in a folder or repo with a short README explaining the purpose.
Start small. Replace one doc in your workflow with Markdown this week — a meeting note, a README, or a blog draft. The portability and review benefits show up fast.
This guide covered the essentials you’ll use every day, the flavors you’ll encounter, tool choices, export paths, and a practical accessibility and non-technical start plan — plus common mistakes to avoid. Markdown’s strength is its simplicity: learn the small set of rules, and you get documents that are fast to write, easy to share, and built to last.
Frequently Asked Questions
Q: What are the main advantages of using Markdown?
A: The main advantages of using Markdown are its portability, speed, and readability. Markdown files are plain text, making them usable long-term, and the simple formatting rules allow for faster writing compared to traditional formatting tools.
Q: How can non-technical users start using Markdown?
A: Non-technical users can start using Markdown by choosing a user-friendly editor like Typora or Mark Text, learning the six essential formatting elements, and practicing with simple documents. Saving files with a .md extension ensures portability.
Q: What are common mistakes to avoid when using Markdown?
A: Common mistakes include mixing tabs and spaces for indentation, missing alt text for images, and not using blank lines before block elements. Fixing these habits early can save time and improve document portability.
Q: Which Markdown editor is best for collaborative writing?
A: For collaborative writing, editors like HackMD or GitHub's web editor are ideal as they support live collaboration and version control. These tools allow teams to work together effectively on documentation.
Q: How does Markdown improve accessibility?
A: Markdown improves accessibility by encouraging proper heading order, descriptive link text, and meaningful alt text for images. Following these guidelines helps screen readers navigate and interpret content more effectively.
Q: What are the advanced features of Markdown that I should learn?
A: Advanced features of Markdown include tables, footnotes, strikethrough, task lists, and fenced info blocks. Learning these features can enhance document quality and facilitate better collaboration.
Q: How can I convert Markdown to other formats like HTML or PDF?
A: You can convert Markdown to other formats using tools like Pandoc or by exporting directly from Markdown editors. Most editors support exporting to HTML, and you can print rendered HTML to create PDFs.
Q: What are the different flavors of Markdown and their uses?
A: Different flavors of Markdown include Original Markdown, CommonMark, GitHub Flavored Markdown (GFM), MultiMarkdown, and Markdown Extra. Each flavor has unique extensions and features suited for various applications, such as academic writing or web development.
SEO Information
SEO Title: Markdown Basics: A Guide to Writing and Formatting
Meta Description: Learn Markdown basics to create readable documents that convert easily to HTML, enhancing your writing and collaboration experience.
Focus Keyword: Markdown basics
Secondary Keywords: Markdown features, Markdown editors, Markdown accessibility
URL Slug: markdown-basics-guide
Ready to convert your documents?
Try our free Markdown to Word converter →