markdownview

What Is a .md File? (And How to Open One)

Someone sent you a file ending in .md, or an AI assistant handed you one, and your computer is not sure what to do with it. The short version: it is a plain text file, you already have software that can open it, and nothing about it is proprietary. Here is what is actually inside, and why this format turns up everywhere once you start noticing it.

The short answer

A .md file is a text file written in Markdown — a lightweight set of conventions for marking up plain text, created in 2004 by John Gruber with input from Aaron Swartz. The extension is short for Markdown. There is no special encoding, no binary data and no company that owns the format.

That means any text editor already on your machine can open one: Notepad, TextEdit, VS Code, even the preview pane of a file manager. What you will see is the raw text with a few symbols sprinkled through it — a # before a title, asterisks around an emphasised phrase, dashes starting each item of a list. Those symbols are the formatting, written in a way that stays readable before anything renders it.

The reason the format spread is that it is readable in both states. A Word document is unintelligible without Word; a Markdown file is perfectly legible as plain text and becomes formatted when something chooses to render it. If you just want to see the formatted version right now, you can open it in the viewer here by dropping the file in — nothing is uploaded, and it renders in your browser.

What is actually inside one

Here is a short but complete .md file. The left side is exactly what the bytes on disk look like if you open it in Notepad; the right is what a renderer turns it into. Nothing is hidden between the two — the same characters produce both views.

A .md file as raw text, and as it renders
Markdown
### Project Atlas

A short description of **what this does** and who it is for.

#### Setup

1. Install the dependencies
2. Copy `.env.example` to `.env`
3. Run the dev server

> Note: requires Node 20 or newer.

| Platform | Supported |
| --- | :---: |
| macOS | Yes |
| Windows | Yes |
Rendered

So how is it different from a .txt file?

Mechanically, it is not. Rename a .txt file to .md and you have not changed a single byte inside it; rename a .md to .txt and the content is identical. Both are plain text, and this surprises people who expect a file extension to describe a different kind of data.

What the extension actually does is signal intent to software. It tells editors to apply Markdown syntax highlighting, tells GitHub to render the file instead of displaying it raw, tells a documentation generator to process it, and tells your operating system which application to suggest. The extension is a label for programs, not a container format — which is exactly why a README has to be named README.md for a repository to render it, and why saving the same content as README.txt leaves you looking at raw symbols.

The practical consequence is worth remembering when something will not render: check the real extension on disk before you start debugging the syntax, since Windows hides known extensions by default and a file shown as "notes.md" can genuinely be "notes.md.txt".

Why AI assistants keep handing you .md files

If your first .md file arrived from ChatGPT, Claude or a coding agent, that is not a coincidence. Markdown is how these models express structure in their output, because it works in a chat window, a terminal, an API response and a code editor without any of them needing to agree on a document format. The chat interface renders it for you, which is why you usually see headings and bold text rather than the symbols.

There is also a second, newer direction to this. Alongside files an assistant writes for you — a plan, a summary, a README — there are now files you write for the assistant to read. AGENTS.md is the most standardised of these: OpenAI donated it to the Agentic AI Foundation, formed under the Linux Foundation, and by October 2026 it reported adoption across more than 60,000 open-source projects. Tool-specific equivalents such as CLAUDE.md and copilot-instructions.md do the same job for their own agents.

Both directions rely on the same property. A format that a human can read without tooling and a model can parse without tooling turns out to be a good place for the two to meet. If what you have is an AI-generated document you need to hand to someone in a more conventional format, converting it to Word keeps the headings, tables and code blocks as real document structure rather than stray punctuation — and if you have already tried pasting one straight in and got a screenful of asterisks, that has a specific explanation.

How to open a .md file

**In a browser, with nothing installed.** The fastest route if you only want to read it: drag the file into the viewer on the home page and it renders immediately, including tables and diagrams. Useful on a machine where you cannot install software.

**On Windows.** Any text editor opens it — right-click, Open with, Notepad. For the formatted version, VS Code is the common choice: open the file and press Ctrl+Shift+V for the preview pane, or Ctrl+K then V to show source and preview side by side.

**On macOS.** TextEdit opens it as plain text. Be aware that TextEdit may try to save it back as .rtf, which would defeat the point — check the format when saving. VS Code works the same as on Windows, with Cmd+Shift+V for preview.

**On mobile.** Most file managers and note apps will display it as text. Obsidian, Bear and iA Writer all read .md natively, since Markdown is their underlying storage format anyway.

**In Google Docs.** Since October 2026, Google Drive and Docs open and edit .md files natively, with comments and version history, rather than converting them to a different format first. Worth knowing, though results on complex tables and fenced code blocks are still uneven.

The quiet advantage: it works with version control

One reason developers chose this format for documentation is not about writing at all — it is about diffing. Because a .md file is line-based plain text, version control systems can show exactly which lines changed between two revisions, merge edits made by different people, and attribute each line to whoever last touched it.

A binary document format cannot offer this in the same way. Change one word in a .docx and the diff is effectively "the file changed", because the underlying zip archive of XML has been rewritten. Change one word in a .md and the diff is that one line, which is why documentation kept beside code is almost always Markdown, and why a change to it can be reviewed in a pull request the same way a code change is.

This is also the practical argument for keeping the Markdown as your source of truth and exporting copies when you need them, rather than the other way round. Edit the .md, then generate a Word document or a PDF for whoever needs one — the history stays reviewable, and the exported file is disposable. If someone sends you a .docx that you would rather maintain as Markdown, the Word to Markdown converter goes the other direction.

Where you will run into them

Once you recognise the extension you will start seeing it everywhere. Nearly every software project has a README.md as its front page. Static site generators and documentation tools build entire websites out of folders of Markdown. Note-taking apps including Obsidian and Bear store your notes as .md files on disk, which is the main reason those notes remain readable if the app disappears.

It is also the text format behind a lot of things that do not advertise it: GitHub issues and pull request descriptions, Reddit comments, Discord messages, and the chat windows of most AI assistants. If you have ever typed **bold** somewhere and watched it turn bold, you have already written Markdown.

The syntax itself is small enough to learn in one sitting — the Markdown syntax guide covers every element with a live example next to it. And if you are seeing raw asterisks where formatting should be, that is a rendering problem rather than a broken file: this walks through the usual causes.

Frequently asked questions

Is a .md file safe to open?

Yes. It is plain text with no executable content, no macros and no embedded objects, so opening one cannot run anything on your machine. That is a meaningful difference from document formats that support macros.

Can I just rename a .md file to .txt?

Yes, and the contents will be byte-for-byte identical. The extension only tells software how to treat the file — whether to render it, highlight the syntax or process it as documentation. It does not change the data inside.

What program should I use to open a .md file?

Any text editor will display it, and your computer already has one. To see the formatted version rather than the raw symbols, use a Markdown-aware editor such as VS Code with its preview pane, a note app like Obsidian, or an online viewer if you do not want to install anything.

Why did an AI assistant give me a .md file?

Because Markdown is how these models express structure in text output, and it works identically in a chat window, a terminal, an API response or a code editor. The chat interface renders it, which is why you normally see formatting rather than the underlying symbols.

Can I convert a .md file to Word or PDF?

Yes. A proper conversion maps headings to real heading styles, keeps tables as tables and preserves code blocks, rather than simply stripping the symbols out. That structural mapping is what separates converting from deleting the punctuation by hand.