Up

What is .MD File? Learn How to Open, Write, Edit, and Share .md Files

Learn what a .md file is and how to use it. This beginner’s guide covers Markdown syntax, popular flavors like GFM, and how to publish your files in minutes.
What is .MD File? Learn How to Open, Write, Edit, and Share .md Files

You clone a GitHub repository for the first time, and the very first file that greets you is README.md.

You open it, and it’s all plain text with different symbols. Then you open the same file on GitHub and the file looks beautiful. It has proper headings, bold texts, bullet points and even clickable links.

You prompt Claude to write a blog for you; it’s structured in the preview, but when downloaded, you get an MD file. And the format doesn’t look the same as the preview. The gap between raw text and the structured output you see is due to markdown.

But what is this .md file?

It is Markdown, and that is what we are going to learn about today.

What is a markdown file?

A .md file is a plain text document written in Markdown. It is one of the most popular markup languages.

If you open a .md file, you can see that the text is readable to anyone and not like code. There are some symbols which help format the texts.

Markdown is a lightweight markup language, and .md stands for “Markdown documentation”. The file stores the content as readable text, and when opened on a compatible app, you get a transformed output.

Illustration comparing raw Markdown syntax on the left and rendered formatted output on the right.

How exactly did the MD file come into existence?

The two people who built the .md file extension

Markdown was created in 2004 by John Gruber and Aaron Swartz.

Gruber is also the writer behind the popular tech blog Daring Fireball. Swartz was a programmer, an internet activist and a believer in open access to information. Swartz co-founded Reddit and helped build RSS.

Markdown was built to be a writing tool for everyone, not just for developers. While HTML is easy, it still requires some understanding of code. A person not in the technology field might not be interested in HTML. When the founders created Markdown, they also included the option to easily convert.MD files into HTML or XHTML.

Gruber and Swartz wanted something simpler than HTML (Hypertext Markup Language), but also open, portable, and free. That’s how .md files came into existence.

Today, MD files are used for blogging, instant messaging, AI training and large language models (LLMs). It is also widely used in online forums, documentation pages and collaborative software.

You know, there is a .txt file too, which reads clearly for everyone, but it doesn’t have features like beautifying the blog or converting it to HTML.

How exactly do MD files beautify the content written?

How Markdown Language Syntax Works

Understanding what makes a .md file useful requires understanding its syntax. The formatting syntax is simpler than you think.

Markdown replaces complete HTML tags with small, readable symbols. You type them inline, and the renderer handles the rest.

Core Markdown Syntax Elements

Here are some elements you might be interested in knowing about!

Overview of standard Markdown syntax elements used in documentation and web development.

Headings

A single ‘#’ before text creates a large heading.
When you write ‘##’, you get a slightly smaller one. You can go to 6 # to create different heading levels. Very similar to H1, H2, H3, etc., you see in HTML or even text editors like Word documents.

Markdown heading syntax example showing hash symbols for H1 to H6 levels

Bold and Italic

You use asterisks to change the weight of the text. You double asterisks to make the text bold. Use single asterisks to italicise text, and you can use a combination to make it bold and italic text at the same time.

Markdown syntax examples for bold, italic, strikethrough, and inline code using asterisks and backticks.

Lists

If you are writing, you need lists. Lists are quite easy to make. You can make a bulleted list by starting the line with a dash (-) or asterisk (*). For a numbered list, just start with a number, then a period.

You can indent on any line to make a nested list.

Markdown code example for unordered, ordered, and task lists with nested items and checkboxes.

A link usually looks like this: [link text](url here)
Images in markdown are inserted in a similar manner but with an exclamation mark at the end: ![image title](image url or path)

Code

For any inline code that you want to showcase, you can use backticks (``). This can be useful if you want to show a tag or function, or just a word of the code.

If you want to paste a whole code block, use triple backticks (```)

You can also add the name of the programming language after backticks to get syntax highlighting.

Markdown code block syntax using triple backticks with Python syntax highlighting example.

Tables

Markdown has a simple way to showcase data in table format.

You use pipe characters (|) to separate the columns.

A row of dashes beneath the header row will create the table structure.

Do not worry about the alignment at the moment; the rendering will fix the formatting.

Markdown table syntax using pipes and dashes with examples of left, center, and right text alignment.

Horizontal Rule

Sometimes you just need a clean visual break between sections. Type three dashes —, three asterisks ***, or three underscores ___ on their own line and you get a full-width divider. All three produce the same result.

Markdown horizontal rule syntax showing three dashes, asterisks, and underscores to create section dividers.

Blockquotes

A > at the start of the line created an indented blockquote for you. If you use two >>, you can get nested quotes.

The whole point of the syntax is that markdown-formatted text remains readable to everyone even without rendering. Unlike HTML, you do not need to know what a tag is or what the information is.

Markdown blockquote syntax using the greater-than symbol to create single and nested indented quotes.

If I am writing with all the markdown symbols, how do I get the output with all the formatting? It’s a question a lot of people face. As I mentioned before, Markdown can be converted easily into HTML.

From .md extension file to Rendered Output

Here’s what happens between writing your .md file and seeing it as a webpage or in documentation.

Diagram showing the process of converting a .md file to HTML through writing, parsing, and rendering.

You usually write and store the file in plain text with just .md or .markdown extensions. You will need a Markdown application that can process a Markdown file. You can also find a Markdown processor online if you do not want to do it yourself.

These processors or applications, as the word ‘processors’ suggests, are called Markdown processors or parsers.

The parser reads the symbols in your text and converts them into HTML format so they can be displayed on a web page. This process is finished within milliseconds and so you can see it happening in real time.

This is how the ReadMe files are rendered when editing vs when you see it on any repository page.

But then, will my Markdown file look the same everywhere? On GitHub and in applications?

Why Markdown looks different in different places

When Gruber released Markdown in 2004, there were many edge cases that the initial version couldn’t define. So a lot of developers and platforms started filling the gaps.

So, like any dialect where people speak in real life with some changes in words here and there, markdown started existing in various dialects.

These dialects are commonly known as ‘flavors’, each with slightly different features.

Here are some Markdown Flavors to know about:

CommonMark

This is one of the flavors that is closest to the universal standard today. It has a baseline Markdown specification and intentionally avoids extensions, focusing on compliance.

By 2014, Markdown had so many versions that the file looked very different depending on the platform. So a group of developers worked on the same thing and created a version which was agreed upon by major platforms.

It has been adopted by companies such as GitHub, Reddit, Stack Overflow, GitLab, Codeberg, Swift, and many others.

Fun fact: The group, when initially creating the version, named it “Standard Markdown”, but Gruber objected to the name because this seemed like it was implying that people should use Markdown in a certain way. Then it was renamed to CommonMark.

GitHub Flavored Markdown (GFM)

GitHub has supported Markdown files for so long. GFM was built on top of CommonMark, which added support for tables, task checklists, strikethrough text and even syntax highlighting.

GFM was specially optimised for GitHub and is a strict superset of CommonMark. It also has the ability to reference issues and pull requests by number.

MultiMarkdown (MMD)

This was one of the earliest extensions of the original specifications. It added features such as footnotes, metadata, tables, and cross-references between documents. This made MMD a popular choice for academic and long-form writing.

Other markdown flavors that were developed over time borrowed from MMD.

Markdown Extra

This flavor adds features like definitions lists, abbreviations, footnotes and the ability to attach CSS classes directly inside markdown. Markdown Extra is used in PHP documentation toolchains very commonly.

Pandoc Markdown

Pandoc added a lot of features on top of Markdown. It supports footnotes, citations, and math equations written in LaTeX. It even allows you to convert your .md file to formats like PDF, Word, ePUB, HTML and more.

Obsidian Markdown

Obsidian Markdown adds wiki-style links between notes using [[double brackets]], turning a folder of plain .md files into a connected knowledge graph.

MDX

MDX mixes Markdown with React components. It is how modern documentation sites built on Next.js or Docusaurus work.

The good thing is, most flavors have almost the same markdown syntax. If you get your hands around the basics, you can write in any flavor with only minor adjustments.

Where do I see .md files right now?

Illustration showing Markdown usage across various devices and platforms including GitHub, mobile, and web servers.

You might be surprised by how many tools run on Markdown even now.

  • GitHub renders every README.md as the homepage of the repository. Even the issues, pull request descriptions, wikis and comments use GFM for text editing. Developers across the world read and write GFM every day.
  • Reddit and Stack Overflow use CommonMark for posts and comments on the platforms. Every time you edit the text or format a code on Reddit, you are using Markdown.
  • Notion supports Markdown shortcuts in the editor. You can write headings using “#” and bold the text with an asterisk.
  • Obsidian is a knowledge management system which is built on local .md files. All these files are on your machine in plain text format, which can be read on any text editor and edited too.
  • Documentation sites and HTML documentation systems for open source projects, SaaS projects and developer tools are often made with .md files. Even academic papers are written in Markdown along with LaTeX. They are often processed using tools like HackMD, MkDocs, Hugo or Docusaurus.

Along with Markdown being popular all these times, it is being widely used right now, which you might have or might not have used.

Markdown and the AI era

Right now, AI tools have become part of our everyday work.

If you want to write a post for your social media or want to edit an article, you use AI.

Any reply you get from AI is natively Markdown.

Every response from an LLM is in Markdown. You can see headings, bold text, bullet points and code blocks. When you download the files in the first output, you get a markdown file.

This is beyond just AI tools. People now also use AI assistants every day. When you work for a long time, your assistants need context too, which is in .md files. For example, a fileCLAUDE.MD tells the AI coding assistant how the project works, the conventions and what to avoid.

Even with tools like OpenClaw, Claude, Hermes and others, you can teach your agent skills using Markdown files.

During every session, these files are read, and that’s how your AI keeps remembering things.

Teams are now switching their HTML or JavaScript-heavy pages to Markdown-rendered pages. This switch makes it easier for AI scrapers to parse. This practice has become popular for Answer Engine Optimisation (AEO).

If the parsers go through HTML or heavy pages, they might have to scrape more and use more tokens. When it is converted to markdown, the tokens used are fewer, and deciphering is easier too.

A Step-by-step Framework to Create, Edit and Publish your .md file

How to Open an MD File

You do not need any special software to open the MD file. Any code editor you have or a basic text editor on any operating system can open it.

Open a markdown file on Windows

  • You can right-click the file, choose “Open With” and choose Notepad
  • You can also use VS Code or Typora to open the files too.
  • On VS Code, you can use Ctrl+Shift+V to see rendered output

Open an MD file on Mac

Double clicking directly might not work for MD files.

  • You can right click, select “Open With” and choose TextEdit.
  • Again, VS Code will work here too! You can use Cmd+Shift+V to get the preview version

Open a .md file on Linux

Any text editor like Gedit, Nano or Vim will work to open the file. You can use VS Code to see a rendered preview.

Open a Markdown file in browser online

You can use tools like Tiiny host or Dillinger.io where you can open and read through the markdown file.

Creating an MD File

Step 1: Choose a Text Editor/Tool

You do not need special software. You can use any simple text editor that supports .md files.

There are tools like VS Code, Typora, Obsidian, HackMD, iA Writer and Notion that you can use! If you do not want to download any tools, you can use any online markdown editor too to create your .md file.

One thing you should avoid is using a rich-text word processor like Microsoft Word to create a .md file. These rich-text processors can introduce invisible formatting that can break Markdown structure.

Step 2: Create and Name Your file

You can create and edit Markdown in any editor. You just have to take care of the extension.

Create a new file or save it with a .md file extension, likeREADME.md,notes.md,article.md. Make sure you use lowercase file names for cross-platform compatibility.

The extension signals the tools to parse the syntax characters and turn them into formatting.

Note: On Windows, make sure file extensions are visible in Explorer. A common mistake is accidentally saving the file with the wrong .md file extension, like .md.text, when extensions are hidden.

Step 3: Write Source Code using syntax

Now that you have created a file and chosen a tool, let’s write your first file. It’s going to be exciting!

You can start with # to add a heading. Then we can move to writing a paragraph, which you can just do by writing simple sentences.

Then, we are going to write the Markdown symbols inline to format our text. In general, it is good practice to write the content first and then apply formatting in a second pass.

You can just copy and paste the following code to make your first Markdown Website. Just fill in the information you want, and you are good to go!

# Your Page Title

Write a short introduction here. Just one or two sentences about what this page is about.

---

## Section One

Write your first section here. Use plain sentences, no special formatting needed.

Key things to remember:

- First point

- Second point

- Third point

---

## Section Two

You can add as many sections as you need. Just use ## for each new one.

### A Smaller Heading

Use ### when you want a subheading inside a section.

---

## Links and Images

Here is how you add a link: [Click here](https://yourlink.com)

Here is how you add an image: ![Image description](https://yourimage.com/image.jpg)

---

## A Simple Table

| Column One | Column Two | Column Three |

|------------|------------|--------------|

| Row 1 | Data | Data |

| Row 2 | Data | Data |

---

> This is a blockquote. Use it to highlight an important line or a quote.

---

*Last updated: April 2026*

Here’s a sample of content written in markdown:

# tiiny.host

tiiny.host is the simplest way to publish a website.

Drop your files in. Get a live URL in seconds. No backend, no server config, no deployment pipeline.

## What you can publish

- Static HTML, CSS, and JavaScript sites

- Markdown files rendered as clean web pages

- Documentation folders built with Hugo or MkDocs

- PDFs and single-page project

## Why people use it

It is fast. It is free to start. And it gets your work in front of people without anything getting in the way

[Get started at tiiny.host](https://tiiny.host)

And here’s what it looks like after rendering:

Example of a rendered Markdown website page showing headers, text, and bullet points on a live site.

We used all the basic syntax, and when you write it more in practice, these are the ones used mainly.

Don’t forget to leave lines before a heading or list block; you might encounter rendering errors otherwise.

Step 4: Add frontmatter if necessary

Frontmatter is a block of metadata at the top of your .md file, used by publishing tools and platforms to provide context for the article. It is used at places like Jekyll, Hugo, Obsidian and many other static site generators to organise your content.

You can use something like this for frontmatter:

---

title: My First Article

date: 2026-04-15

author: Your Name

tags: [writing, markdown]

---

Step 5: Preview your rendered output

Before you publish, always make sure that the rendered output is good to be shared.

In VS Code, open preview in a new tab using Ctrl+Shift+V or Cmd+Shift+V on Mac.

Here’s a preview from VS Code:

VS Code interface showing a split-screen view of Markdown source code and its live rendered preview.

If you are going to upload the file to GitHub, you should use a GFM-compatible previewer. VS Code does have the GitHub Markdown Preview extension. You can use online rendering tools as well.

If you are using any flavors, make sure to check them to avoid any rendering issues.

Optional Step: Create Structure for Readability and Navigation

Make sure you organise the files in a hierarchy and create a table of contents. Must do if your files have more content.

For example:
Use H1 for the document title.
Use H2 for major headings of the next sections.
Use H3 for subsections.
Add a linked table of contents by creating a list and using links to point to each heading.

If you are using GitHub, it makes URL-safe anchor IDs, so any heading #Heading1 becomes #heading1.

Step 6: Export your file or convert to other formats

You can now export your file or convert the markdown language to HTML, PDF, DOCX or other file formats.

If you need a PDF, you can use Pandoc or Typora. Pandoc also handles Microsoft Word documents. If you need a website, you can use MkDocs or Jekyll. Pandoc supports more formats, too, like HTML documents and EPUB.

Step 7: Publish and share it

Conversion process from a Markdown document to a published website link.

Now is the time to get your Markdown content out to the public. You can share the MD file with your colleagues. You can upload it as a webpage and share it. You can also convert them using static site generators and make them HTML websites.

You can do it in just 4 steps withTiiny.host

  • Go toTiiny.host
    Tiiny.host homepage interface showing the drag-and-drop file upload area for web hosting.
  • Upload your .md file
    Dragging and dropping an .md file into the Tiiny.host upload box for instant web publishing.
  • Give it a link-name for a customised subdomain
    Entering a custom link-name for a tiiny.site subdomain to host a Markdown document.
  • Hit publish and you have your file ready to be viewed and shared!

    Live preview of a rendered Markdown file hosted online as a clean, dark-themed webpage.

That’s it! You get your link, which you can send to anyone or see on any web browser. Don’t want to share publicly? Protect your website with password protection before sharing.

Step 8: Version control it

Add your .md files to a Git repository now. This will help you move back if you make any changes, and it doesn’t render well.

When you push an update, you can redeploy or push directly from the VSCode extension.

And that’s it, you created your first Markdown file, saved and published it!

You know, a lot of people ask me why I choose a Markdown file when there are so many other formats that can do the same thing. Let’s do a simple comparison.

How .md compares to other formats

Comparison graphic showing a clean .md file versus cluttered .docx and .html file code.

Format Readable as raw text? Version control? Converts to HTML? Best for
.md Yes Excellent Yes, via parser Docs, blogs, notes, wikis
.txt Yes Excellent No Simple notes, no formatting
.html Difficult Poor Yes, natively Complex web layouts
.docx No Poor No, needs export Business documents
.rst Moderate Good Yes, via Sphinx Python ecosystem docs
.adoc Moderate Good Yes, via Asciidoctor Technical books, complex manuals

As .md files are plain text, they work seamlessly with Git and so developers use it widely over other formats. When you edit a Markdown file, Git shows exactly the changes made. This isn’t possible for binary formats like .docx where version control tools cannot register changes for them. While most of the tools above do their job individually, an MD file can be used to to read, write or present.

Frequently Asked Questions about MD Files

What does .md stand for?

MD stands for “Markdown documentation.”

What isREADME.md?

AREADME.md file is a standard documentation file in software repositories. On GitHub, it is automatically rendered as the landing page of the project. It is the first thing which people see when they visit any repository on GitHub.

Is a .md file the same as a .txt file?

Both of them are plain text files, but a .txt file does not have any formatting options as it is plain text format. With the .md file, you can use syntax which lets tools render the output.

Can I open a .md file without special software?

Any basic text editor would work for Markdown files. You can open MD files on Microsoft Notepad on Windows, TextEdit on Mac or any other editor. You can also use VS Code on any system.

How do I convert a .md file to PDF?

You can use Pandoc from the command line, Typora or a VS Code extension too to convert markdown formatted document into any other file extension. Do not use “Save as PDF” on any GitHub page, as it removes code block styling.

Does Google index Markdown files?

Google can crawl .md files, but they offer no SEO advantage. John Muller from Google confirmed in early 2026 that search engines rank based on what users see, not bot-targeted file versions. For proper SEO, you can convert .md files to an HTML file using a static site generator.

Markdown files power the entire system

Docs-as-Code

Many SaaS and developer teams manage documentation regularly. All changes go through pull requests and are peer reviewed. Documentation gets linted, versioned and deployed through CI/CD pipelines.

This is called docs-as-code where you treat the documentation like the code and makes the docs very accurate.

Static site generation

There are so many Static site generators like Hugo, Jekyll, MkDocs and Docusaurus that generate a website from a Markdown file without any other files.

Within a few minutes, you can turn Markdown-formatted text into HTML and then you can host your first web page live.

Personal knowledge management

Obsidian built an entire ecosystem around the idea that a personal knowledge base should be saved in local .md files. Every note links to others using double-bracket wiki links. With this, you can search for them in any text editor and carry them to any tool.

Here’s a quick refresher of the tools you can work with if you want to create or edit .md files:

The best tools for working with .md files

For writing and editing:

Tool Best for Pricing
VS Code Developers editing .md alongside code Free
Typora Writers who want WYSIWYG Paid (one-time)
Obsidian Note-taking and knowledge management, local-first Free (sync paid)
iA Writer Focused long-form writing, especially on Mac and iOS Paid
HackMD Real-time collaborative editing with a team Free tier + paid
Dillinger.io Quick experiments, no installation needed Free

For converting and publishing:

Tool What it does
Pandoc Converts .md to PDF, Word, HTML, ePub, and dozens of other formats
MkDocs Builds documentation websites from Markdown files with a single config file
Hugo Fast static site generator for blogs and docs
Jekyll GitHub Pages’ native generator. Converts md files into HTML
Docusaurus An open-source documentation framework widely used across the SaaS ecosystem

For reference:

Resource What it is
Markdown Guide The best vendor-neutral reference for syntax and tools
CommonMark The formal specification for standardized Markdown
GitHub Flavored Markdown Spec Official GFM specification from GitHub
Dillinger.io Browser-based Markdown editor with live preview; no installation required
Babelmark 3 Shows how the same Markdown renders across 20+ parsers

A format that quietly changed the internet

Markdown started as a small project created by two people to write for the web without touching HTML.

Twenty years later, it powers documentation worldwide. It is also part of online communities like Reddit and Stack Overflow for posts and comments.

It is an output and context format for AI assistants. Also, it is the backbone of personal knowledge bases for writers and researchers.

Markdown lifecycle: Write, Format, Share, Render, Publish, and Reuse content workflow.

I hope you have all the knowledge needed for MD files and you create your file very soon! Open your code editor, create a new file, save it as .md, start your first heading with #, and add some sentences. Your file is ready.

Want to publish your Markdown content online in minutes? Try tiiny.host and start sharing your Markdown file.