What is Markdown?

Markdown is a lightweight markup language that formats plain text with simple symbols, converting to HTML for the web.

Markdown is a lightweight markup language created to let people write formatted documents using plain text and a handful of intuitive symbols. Instead of HTML tags, you use asterisks for emphasis, hash signs for headings, hyphens for lists, and square-bracket syntax for links. The raw text stays perfectly readable, and a processor converts it into clean HTML for display on the web.

The appeal of Markdown is speed and portability. Because it is just text, it works in any editor, version-controls cleanly, and never traps your content in a proprietary format. Writers, developers, and marketers use it for documentation, README files, blog posts, notes, and messages. It has become the default writing format for platforms like GitHub, and countless static site generators and CMSs.

The core syntax is small and easy to memorize: # for headings, ** for bold, * or _ for italics, - or * for bullet lists, > for blockquotes, backticks for inline code and fenced code blocks, and [text](url) for links. This minimal vocabulary covers the vast majority of everyday formatting needs while keeping the source text uncluttered.

Markdown has many flavors that extend the original spec — GitHub Flavored Markdown adds tables, task lists, and strikethrough, and others add footnotes or definition lists — so a document that renders one way in one tool may differ slightly in another. Converting between Markdown and HTML in both directions is common when moving content between systems, publishing to the web, or importing existing HTML into a Markdown workflow.

Examples

  • # Heading, **bold**, *italic*, and - a bullet point
  • [Link text](https://example.com) becomes an anchor tag
  • ```\ncode block\n``` renders as preformatted code

Frequently asked questions

Free tools for working with Markdown

Related terms