What is Markdown?

Markdown is a lightweight markup language for formatting plain text. Write with simple symbols like #, **, and -, and a parser renders it as HTML. It is the default format on GitHub, Reddit, and most developer documentation platforms.

Common Syntax

  • # Heading 1, ## Heading 2, ### Heading 3
  • **bold** or __bold__
  • *italic* or _italic_
  • [link text](https://example.com)
  • ![alt text](image.png) — images
  • - item or 1. item — unordered and ordered lists
  • Inline code: `code`
  • Code block: triple backticks with optional language name
  • > text — blockquote
  • --- — horizontal rule

GitHub Flavored Markdown Extensions

  • Tables| col1 | col2 | with | --- | --- | separator
  • Task lists- [ ] todo and - [x] done
  • Strikethrough~~text~~
  • Autolinks — bare URLs become clickable automatically
  • Fenced code blocks — triple backtick with language identifier for syntax highlighting

Where Markdown Is Used

  • GitHub README files, issues, pull requests, and comments
  • Reddit posts and comments
  • Notion, Obsidian, and other note-taking apps
  • Documentation tools (MkDocs, Docusaurus, Jekyll)
  • Stack Overflow and developer Q&A sites

Write Markdown and see the rendered HTML side-by-side: Open Markdown Preview →

Frequently Asked Questions

Can Markdown contain raw HTML?

Yes. Most Markdown parsers pass raw HTML through unchanged. This is useful for elements Markdown doesn't support natively (like <details> dropdowns or custom <div> blocks). Some renderers (GitHub, Reddit) sanitise HTML for security.

What is front matter in Markdown?

Front matter is a YAML block at the top of a Markdown file delimited by ---. Static site generators (Jekyll, Hugo, Gatsby) use it to store metadata like title, date, and tags. It is not standard Markdown and is stripped before rendering.

Related Terms

  • YAML — Used in Markdown front matter for metadata.
  • Slug — Markdown filenames are often converted to URL slugs.