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.
Markdown at a glance#
| Full name | Markdown |
|---|---|
| File extension | .md |
| Category | Documents |
| Developer | John Gruber |
| First released | 2004 |
| MIME types | text/markdowntext/x-markdown |
| Other extensions | .markdown.mdown.mkdn.mkd |
| Compression | Uncompressed |
| Specification | CommonMark Spec |
| FileFlip support | FileFlip 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 text | Yes |
|---|---|
| Human readable | Yes |
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.
| Platform | Programs that open it |
|---|---|
| Windows | VS Code, Typora, Obsidian, Notepad++ |
| macOS | VS Code, Typora, Obsidian, iA Writer |
| Linux | VS Code, Obsidian, gedit |
| iOS | iA Writer, Obsidian |
| Android | Obsidian, Markor |
| Web | Dillinger, 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#
Convert Markdown to another format
- Markdown to HTML
- Markdown to PDF
- Markdown to AVIF
- Markdown to BMP
- Markdown to DOCX
- Markdown to EPUB
- Markdown to GIF
- Markdown to ICO
- Markdown to JPEG
- Markdown to JPG
- Markdown to JXL
- Markdown to LaTeX
- Markdown to ODT
- Markdown to PNG
- Markdown to PPTX
- Markdown to PSD
- Markdown to RTF
- Markdown to TIFF
- Markdown to TXT
- Markdown to WEBP
- Markdown to AsciiDoc
- Markdown to BBCode
- Markdown to BibTeX
- Markdown to BMP2
See every Markdown conversion (37 more)
Convert another format to Markdown
- DOCX to Markdown
- HTML to Markdown
- ARW to Markdown
- AVIF to Markdown
- BMP to Markdown
- CR2 to Markdown
- CR3 to Markdown
- DNG to Markdown
- EPUB to Markdown
- GIF to Markdown
- HEIC to Markdown
- HEIF to Markdown
- ICO to Markdown
- JPEG to Markdown
- JPG to Markdown
- JXL to Markdown
- LaTeX to Markdown
- MOBI to Markdown
- NEF to Markdown
- ODT to Markdown
- PDF to Markdown
- PNG to Markdown
- PPTX to Markdown
- PSD to Markdown
See every document conversion (62 more)
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.