Skip to content

Markdown File Format (.md)

An MD file holds Markdown, John Gruber's 2004 plain-text markup that uses light punctuation such as # and * for structure and converts to HTML, while still reading cleanly as unformatted text on its own.

.mdDocuments

Markdown at a glance#

Full nameMarkdown
File extension.md
CategoryDocuments
DeveloperJohn Gruber
First released2004
MIME typestext/markdowntext/x-markdown
Other extensions.markdown.mdown.mkdn.mkd
CompressionUncompressed
SpecificationCommonMark Spec
FileFlip supportFileFlip reads and writes this format

What a .md file can hold#

These are the things a Markdown file either supports or does not, and they are what decides whether a conversion keeps everything or quietly drops something.

Selectable textYes
Human readableYes

Strengths and limitations of Markdown#

What Markdown does well

  • Renders correctly even unprocessed, since the punctuation reads naturally as plain text
  • Every static site generator, code forge and note-taking app parses it natively
  • A file written to the CommonMark spec parses identically across every conformant implementation

Where Markdown falls short

  • Gruber's original 2004 rules never defined tables, footnotes or nested lists precisely, so plain Markdown, GitHub Flavored Markdown and Pandoc's Markdown disagree on all three
  • No native syntax for comments, so hiding text from the rendered output means dropping in raw HTML instead
  • Precise layout, footnote placement or anything page-like needs raw HTML embedded in the file, and not every renderer allows that

Write in Markdown when the document is prose with light structure that will be read as either rendered HTML or plain text, like a README or a blog post.

Convert Markdown to a heavier format when the document needs something Markdown was never designed for, such as page layout, citations, or a footnote style a specific target requires.

How to open a .md file#

A .md file opens in the programs below, grouped by the platform you are on. If you would rather not install anything, FileFlip converts Markdown into a format your machine already opens, and it does it in the browser tab rather than on a server.

PlatformPrograms that open it
WindowsVS Code, Typora, Obsidian, Notepad++
macOSVS Code, Typora, Obsidian, iA Writer
LinuxVS Code, Obsidian, gedit
iOSiA Writer, Obsidian
AndroidObsidian, Markor
WebDillinger, HackMD, FileFlip

Markdown questions people ask#

Who invented Markdown and why?

John Gruber created Markdown in 2004 as a text-to-HTML tool for web writers, with Aaron Swartz acting as an early sounding board. The goal was a plain-text syntax that stayed readable even before conversion, so a Markdown file never looks like it's covered in tags the way raw HTML does.

Why do Markdown tables look broken when I paste them somewhere else?

Tables were never part of Markdown's original 2004 specification, so every tool that added them, GitHub Flavored Markdown, MultiMarkdown, Pandoc, invented its own pipe-and-dash syntax independently. A table written for one renderer often shows up as literal text or breaks its alignment in another.

What is CommonMark and how is it different from Markdown?

CommonMark is a 2014 specification, backed by John MacFarlane of Pandoc along with engineers from GitHub, Reddit and Stack Overflow, that defines Markdown's grammar unambiguously with a full test suite. It exists because Gruber's original description left enough edge cases undefined that independent Markdown parsers had drifted apart; CommonMark is the fix, not a replacement syntax.

Does Markdown support footnotes?

Plain Markdown and CommonMark have no footnote syntax at all. MultiMarkdown and PHP Markdown Extra both added one, and Pandoc's Markdown follows a similar convention, but GitHub Flavored Markdown's own specification does not define footnotes, so a footnote written for one of those dialects can silently fail to render in another.

Why does GitHub render my Markdown differently than another tool?

GitHub uses GitHub Flavored Markdown, which adds tables, strikethrough, task lists and automatic link detection on top of CommonMark. A file relying on those extensions, or on a different dialect's footnotes or raw HTML handling, can render correctly on GitHub and differently, or not at all, in an editor or site generator using a different Markdown implementation.

Converting Markdown files#

Every conversion runs inside your browser. The file is read from your disk, the work happens on your own machine, and nothing is uploaded. How FileFlip works names the engine behind each family and how to verify that for yourself.