Text & writing

Markdown to plain text converter

Strip Markdown formatting from an AI answer or a README and keep the words.

Markdown to plain text converter
Esc to restore

Your inputs

Up to 2 MB.

Results update as you type. Larger files run when you press Update result.

Your result

Your result will appear here.

More actions

Your inputs stay in this browser. Nothing is uploaded or saved.

A clear answer. Here’s how.

Works line by line. Fenced code blocks keep their contents and lose the fences; headings lose their # marks; setext underlines and horizontal rules are dropped; block-quote markers are removed; bullets and numbers are normalised; tables become one line per row; link reference definitions are removed. Inside lines, code spans, backslash escapes, images, links (inline, reference and automatic), bold, italic and strikethrough are unwrapped, HTML tags and comments are removed, <br> becomes a line break and HTML entities are decoded. Underscores inside words (snake_case) are left alone. It is a text-based converter, not a full CommonMark renderer, so unusual nesting or raw HTML can differ from what a renderer displays.

How this is checked

5 reference checks passed These 5 cases were run when this page was built, on 20 October 2026, and all reproduce within the stated tolerance. The same cases are part of the automated tests that run on every change to Toolmoz. Engine version 1.

See the checks and where each expected answer comes from
  1. Case 1

    Inputs
    Markdown # Title Some **bold**, *italic* and `code` with a [link](https://example.com "tip"). Links textImages altBullet points dashTables tabs
    Expected, and what Toolmoz gave
    text expected Title Some bold, italic and code with a link. , Toolmoz Title Some bold, italic and code with a link.
    Where the expected answer comes from
    CommonMark: a heading, strong and emphasis, a code span and an inline link reduce to their text
    Allowed difference
    exact
  2. Case 2

    Inputs
    Markdown Read [the docs](https://example.com/docs) and ![a cat](cat.png). Links urlImages altBullet points dashTables tabs
    Expected, and what Toolmoz gave
    text expected Read the docs (https://example.com/docs) and a cat. , Toolmoz Read the docs (https://example.com/docs) and a cat.
    Where the expected answer comes from
    A link shows its address after the text when asked, and an image shows its description
    Allowed difference
    exact
  3. Case 3

    Inputs
    Markdown - one * two + three 1. first 2. second - [x] done - [ ] todo Links textImages altBullet points dotTables tabs
    Expected, and what Toolmoz gave
    text expected • one • two • three 1. first 2. second • [x] done • [ ] todo , Toolmoz • one • two • three 1. first 2. second • [x] done • [ ] todo
    Where the expected answer comes from
    Bullet markers become dots, numbered lists keep their numbers and task boxes are kept
    Allowed difference
    exact
  4. Case 4

    Inputs
    Markdown ```js const a = 1 * 2 * 3; ``` snake_case_word and 2 * 3 * 4 stay. Links textImages altBullet points dashTables tabs
    Expected, and what Toolmoz gave
    text expected const a = 1 * 2 * 3; snake_case_word and 2 * 3 * 4 stay. , Toolmoz const a = 1 * 2 * 3; snake_case_word and 2 * 3 * 4 stay.
    Where the expected answer comes from
    Code fences keep their contents untouched, underscores inside a word and asterisks with spaces are not emphasis (CommonMark rules)
    Allowed difference
    exact
  5. Case 5

    Inputs
    Markdown | Name | Qty | | --- | ---: | | Tea | 2 | | **Milk** | 1 | Links textImages altBullet points dashTables pipes
    Expected, and what Toolmoz gave
    text expected Name | Qty Tea | 2 Milk | 1 , Toolmoz Name | Qty Tea | 2 Milk | 1
    Where the expected answer comes from
    The delimiter row is dropped and bold inside cells is unwrapped
    Allowed difference
    exact

What this shows: the engine reproduces independently worked values for these cases. It does not prove every possible input is right. To test an answer you were given, see how to check a number; to see what is and is not checked across Toolmoz, see the accuracy ledger.

See a worked example

Worked example

A fixed demonstration, separate from the values you enter above.

Markdown
# Plan

A **short** list with a [link](https://example.com):

- first item
- second *item* with `code`

> quoted advice

| Name | Qty |
| --- | --- |
| Tea | 2 |
Links
Keep the link text only
Images
Keep the description
Bullet points
Use a dash
Tables
Cells separated by tabs

Example result

Words
21
Characters
101
Lines
11

Removes the common Markdown formatting: headings, emphasis, links, images, code fences and inline code, list markers, block quotes, tables, horizontal rules and simple HTML. It is a text-based converter, not a full CommonMark renderer, so unusual nesting or raw HTML can differ from what a renderer shows.