Markdown to Text

Convert Markdown formatted content into clean, plain text by stripping all syntax and formatting.

CommonMark with the GitHub extras: headings, emphasis, links and images, nested lists and task lists, tables, fenced code, blockquotes, footnotes, strikethrough and raw HTML. The markers are read by the Markdown rules, so an asterisk in a sum or an underscore inside a name is left alone.

Worth a look

Rate this tool

How useful was this tool?

Markdown to Text Converter

Paste or type Markdown into the box, load the Example, or Open a file up to 10 MB (you can also drag it onto the page). The plain text appears as you type, ready to Copy or Download .txt. The download is named after the file you opened, or after the document’s title.

Under the result you’ll see the word, character and line counts and the size. Notes under Worth a look say what was joined, shortened or dropped, and which option changes it.

Everything runs in your browser. Nothing you paste or open is uploaded.

Example

# Release notes

**Version 2.4** fixes the login bug. See the [changelog](https://example.com/changelog) for details.

## Changes

- [x] Faster search
- [ ] Dark mode (next release)

| Plan  | Price |
| :---- | ----: |
| Basic |    €5 |
| Pro   |   €12 |

> Thanks to everyone who reported issues.

With headings Underlined, links as Text and address, quotations Marked with >, tables as Aligned columns, and no wrapping:

Release notes
=============

Version 2.4 fixes the login bug. See the changelog (https://example.com/changelog) for details.

Changes
-------

- [x] Faster search
- [ ] Dark mode (next release)

Plan   Price
Basic     €5
Pro      €12

> Thanks to everyone who reported issues.

The bold markers are gone, the link keeps its address so it still works in a plain email, the task list shows which items are done, and the Price column stays right-aligned as the Markdown asked.

Why not just delete the symbols?

Deleting every *, _, # and bracket seems simpler, but it damages ordinary text:

  • 5 * 3 = 15 loses its multiplication sign.
  • user_id turns into userid.
  • #1 priority loses its #.
  • A reference link like [the docs][1] leaves its brackets and number behind, and the address it points to is lost.

This converter reads the Markdown the way a Markdown renderer does, following CommonMark and GitHub’s additions. Symbols are removed only where they’re formatting, so 5 * 3, user_id and #1 stay as written. Reference links are resolved and their definitions at the bottom disappear. Escapes like * and entities like & become the plain characters * and &.

Choosing how each part looks

Plain text has no bold or links, so each element needs a plain-text form. Pick the one that suits where the text is going.

Links

  • Text only for reading and for text-to-speech.
  • Text and address for emails and printouts, so readers can still follow the link.
  • Address only when the link is what matters.

A link to a section of the same page, or a link whose text already is its address, isn’t repeated.

Images

  • Alt text keeps the image’s description in the text.
  • Alt text and address adds where to find it.
  • Nothing leaves images out entirely.

Lists

  • • bullets and 1. numbers looks the cleanest.
  • - hyphens and 1. numbers is safer for systems that only handle basic characters.
  • Text only puts one item per line with no markers.

Numbered lists continue from the number the list starts with, and the numbers line up, so items 9 and 10 sit neatly under each other.

Headings

  • Text only keeps just the words.
  • UPPERCASE is a common way to mark headings in plain-text email.
  • Underlined adds a row of = under top-level headings and - under the next level. It reads well as plain text and is still valid Markdown.

Quotations

  • Text only keeps just the text.
  • Indented sets it off from the surrounding paragraphs.
  • Marked with > is the way plain-text email shows quoted replies.

Code blocks

  • As written keeps them exactly as they are.
  • Indented by four spaces sets them off from the text.
  • Removed is useful when you only want the prose, for example to count words.

Tables

  • Aligned columns lines the columns up with spaces and follows the alignment set in the Markdown. Chinese, Japanese and Korean characters and emoji are counted as two cells wide, so the columns still line up.
  • Tabs between cells is for pasting into a spreadsheet, which splits the text into cells.

Aligned columns only line up in a fixed-width font, like the one in a code editor or a plain-text email.

Wrapping lines

Wrap lines at 72, 80 or 100 characters, or leave it off:

  • 72 characters is the traditional width for plain-text email and for git commit messages.
  • 80 characters suits terminals.
  • 100 characters is easier to read on wider screens.

List items and quotes wrap under their own text, not back under the bullet or >, so they stay readable. Code and tables are never wrapped, because breaking their lines would change them.

Other switches

  • Keep single line breaks inside paragraphs: in Markdown, a single line break is just a space. Switch this on if the line breaks were meant, as in an address or a poem.
  • Footnotes: written as [1] in the text, with the notes collected at the end.
  • Extras: definition lists, superscript, subscript, highlight and abbreviations, for Markdown written with those extensions.

HTML inside the Markdown

Markdown often contains bits of HTML. Its headings, lists, tables, code and links get the same treatment as the Markdown around them, so your options apply to them too. Scripts, styles and comments are dropped. You can even paste a whole HTML page and get its text. To convert HTML into Markdown instead, use HTML to Markdown.

What it’s used for

  • Answers from AI chat apps. They write in Markdown, which shows up as ** and ## when pasted into an email, a Word document or a form that doesn’t render it. Paste the answer here first.
  • Plain-text email and newsletters, with links kept as readable addresses.
  • App store descriptions, forms and text messages that accept only plain text.
  • Word counts and reading without the symbols getting in the way.
  • Text-to-speech, so the voice doesn’t read out the formatting symbols.

FAQ

Why do ** and ## appear when I paste text from an AI chat?

The app writes its answers in Markdown and displays them formatted. When you copy the raw text and paste it somewhere that doesn’t understand Markdown, the symbols show up. Paste the text here, and copy the plain version.

Will accents, other alphabets and emoji survive?

Yes. Only Markdown formatting is removed, and every character of your text stays.

Can I convert Markdown to HTML instead?

Yes, with Markdown to HTML.

Can I wrap or clean up text that isn’t Markdown?

Use the Text Line Wrapper to wrap lines, or the Text Cleaner to remove extra spaces and line breaks.

Is my text uploaded anywhere?

No. Everything happens in your browser, and nothing you paste or open is stored.

Note: All processing is done client-side. We do not store or see your data.

Related Tools

Contact

Missing something?

Feel free to request missing tools or give some feedback using our contact form.

Contact Us