Markdown Markup Language: Format Your Text

Markdown is a markup language for creating formatted text using a plain-text editor. Its key design goal is readability: the language is readable as-is, without an abundance of tags or formatting instructions. This is in contrast to HTML, for example, which has obvious tags and formatting instructions that make it harder to read for humans.

Markdown is used extensively by programmers in the software engineering industry. However, it’s also widely used in:

  • blogging and CMS software (like WordPress),
  • instant messaging and chat (like Discord, Reddit),
  • online forums,
  • collaborative software,
  • (software) documentation,
  • readme files (GitHub repositories)

So it definitely pays to recognize and understand the syntax, which, luckily, is simple! Anyone can learn it.

Learn Markdown syntax

If you’re new to Markdown, I suggest you start with my Markdown cheat sheet, which is actually more than just a cheat sheet. It contains explanations and links to further resources you might need.

Next, you may want to learn how to create a table. Although that’s covered in our cheat sheet as well, there are quite some details to it for tables to deserve their own article.

Next up: how to center things in Markdown. This is a question that I get from a lot of readers, so I’ve created an extensive article in which you learn how to center images, headers, text, and tables in Markdown.

If you’re writing technical documentation, you probably want to use Markdown code blocks. Most parsers support code blocks and even offer the option to highlight syntax.


John Gruber and Aaron Swartz created the markup language in 2004, with the goal of creating something that is readable and appealing to human readers in its source code form. The result: it generally improves the readability of your plain text instead of worsening it. With the added benefit that we can also convert Markdown to other formats, like HTML, PDF, or RTF, thanks to the used conventions.

The main inspiration for its syntax was the existing convention for marking up plain text in e-mail, although it also draws from earlier markup languages like reStructuredText.

Markdown file extension

Markdown files have the extension .md. A file name you will encounter a lot is the file in code repositories like those on GitHub. If you’re wondering what this file is, and want to know how to create one yourself, read all about it on our page about files.