TextToolbox Instant text & writing tools

Markdown to Plain Text

Paste Markdown below — the plain-text version appears instantly. Nothing you paste leaves your browser.

Strip Markdown syntax, keep the words

This tool runs your text through a fixed sequence of pattern replacements: code fences and inline code lose their backticks but keep their content, images and links collapse to their visible text (the alt text or link text — URLs are dropped), headers lose their # markers, bold and italic markers (**, *, __, _) are removed, blockquote > and list markers (-, *, 1.) disappear while the text stays, horizontal rules are deleted, and extra blank lines collapse. It's regex-based rather than a full parser — fast and reliable for everyday Markdown, with real limits on deeply nested structures (see the FAQ).

Worked example

Input:

# Project Update

This is **important** and *urgent*. Check the [docs](https://example.com/docs) for details.

## Steps

- First item
- Second item with `inline code`
1. Numbered one
2. Numbered two

> A note worth remembering.

```js
const x = 1;
console.log(x);
```

---

![A diagram](https://example.com/diagram.png)

Done.

Output:

Project Update

This is important and urgent. Check the docs for details.

Steps

First item
Second item with inline code
Numbered one
Numbered two

A note worth remembering.

const x = 1;
console.log(x);

A diagram

Done.

Frequently asked questions

Does it handle nested formatting, like bold text inside a list inside a blockquote?

Partially. This is a regex-based stripper, not a full Markdown parser — it applies a fixed sequence of pattern replacements rather than building a real document tree. Simple and moderately nested Markdown converts cleanly, but deeply nested or unusual combinations (a code block inside a list item, links inside emphasis inside a header) can trip it up. If you need spec-perfect parsing of complex documents, a real CommonMark parser is the right tool — this one is built for speed on typical everyday Markdown.

What happens to links?

A Markdown link like [the docs](https://example.com/docs) becomes just the link text: "the docs". The URL is dropped. That's a deliberate choice — this tool is for clean, readable plain text, and a raw URL sitting inline usually adds noise rather than value when you're pasting into an email or a text field.

What happens to images?

An image tag like ![A diagram](https://example.com/diagram.png) becomes just its alt text: "A diagram". There's no way to show the actual image in plain text, so the alt text — which is meant to describe the image — is the closest useful stand-in. If the image had no alt text, it disappears entirely.

Why not just render the Markdown to HTML and show a preview instead?

Different job. Rendering to HTML is for reading formatted content; this tool is for when you need genuinely clean, unformatted text — pasting into a plain-text email, a character-limited form field, an SMS, or anywhere Markdown syntax itself would show up as literal asterisks and brackets instead of being interpreted. It removes the syntax entirely rather than turning it into visual formatting.