Converters Markdown to Text

Markdown to Text

Strip all Markdown syntax and get back clean, readable plain text — handles files up to 200MB.

Or convert a file directly — supports files up to 200MB

Drag & drop a file here, or click to browse

Processed in the background, so the page stays responsive even for huge files

How to use this tool

Paste Markdown or upload a .md file; the plain text updates as you type, and Download saves it as a .txt with the same name. Files over 5 MB are converted in the background instead of being loaded into the editor, up to 200 MB.

Worked example: a README section

# Invoice export

Exports **paid** invoices as CSV. See the [setup guide](https://example.com/setup).

1. Open *Settings → Export*
2. Pick a date range

| Column | Example |
|---|---|
| amount | 4,999.00 |

```bash
# run nightly
export --from 2026-09-01
```

> Totals include GST & exclude TDS.

comes out as:

Invoice export

Exports paid invoices as CSV. See the setup guide.

1. Open Settings → Export
2. Pick a date range

Column  Example
amount  4,999.00

# run nightly
export --from 2026-09-01

Totals include GST & exclude TDS.

Step numbers stay because they are part of the instructions, while bullets go. Code is copied exactly, so # run nightly keeps its # even though the same mark is removed from the heading. The & entity is decoded to a plain ampersand, and table cells are separated by two spaces.

What to check before you paste the result

  • Link addresses are gone. "See the setup guide" no longer says where the guide is, and a link reading "click here" becomes meaningless. Addresses written out in full, like https://example.com, are kept.
  • Images become their alt text, or nothing at all if the alt text was empty.
  • Nested lists lose their indentation, so sub-points line up with their parent item.
  • A literal character stays literal. \* comes out as * rather than disappearing, and inline HTML tags such as <b> are removed while their text stays.

Frequently Asked Questions

What happens to the front matter at the top of a blog post?

It is removed. A file from Jekyll, Hugo or Astro usually starts with a block such as ---, title: "Invoice export", date: 2026-09-01, --- and those fields are settings for the site, not part of the text. The output starts at the first real line of the post. Only a block at the very top that begins with a key: value line is treated this way.

Can I use the output to count words?

Yes, and it gives a truer count than the raw Markdown: symbols like ** and ## and whole link addresses no longer inflate the total. Paste the result into the Word Counter on this site. Code blocks are still included, so remove them first if your limit is for prose only.

What happens to headings written with underlines instead of # marks?

A heading followed by a line of === is kept as a line of text and the === line is removed. A line of --- is removed wherever it appears, whether it underlines a heading or is a horizontal rule, and the words above it stay.

Related Tools

Related Blog Posts