Text to Markdown converter

Turn formatted text into Markdown without retyping anything. Copy text from Google Docs, an email or a web page and paste it below: the Markdown appears at once, with headings, bold, italic, lists, links and tables.

Headings
Bullet character
Paste your formatted text

How it works

  1. Copy your text

    Select and copy text from Word, Google Docs, an e-mail or a website.

  2. Paste it here

    Paste with Ctrl+V in the left box. Headings, bold, lists, links and tables are kept.

  3. Copy the Markdown

    The Markdown appears on the right straight away, ready for GitHub, Notion or your documentation.

How it works

  1. Select the text in Google Docs, your email program or your browser and copy it (Ctrl+C).
  2. Paste it into the box Paste your formatted text (Ctrl+V). The formatting stays visible there.
  3. The Markdown appears on the right straight away. Choose the Headings style and the Bullet character yourself.
  4. Use Copy Markdown, or Download .md to save an .md file.

What gets converted?

  • Headings become #, ## and so on, or the underlined style if you prefer that.
  • Bold, italic and strikethrough become **bold**, *italic* and ~~strikethrough~~.
  • Bullet and numbered lists, also nested, with the nested items indented four spaces.
  • Links become [text](address). A javascript: link is turned into plain text.
  • Tables become Markdown tables with |.
  • Quotes, inline code and code blocks stay recognisable. A code block that comes from a web page becomes a fenced block between three backticks.
  • Images become ![alt](address), unless Include images is unticked.

Fonts, colours, sizes and underline don't exist in Markdown and are dropped. Superscript and subscript are kept as the <sup> and <sub> tags, which Markdown programs pass through.

An example

The Example button pastes a small report. This is the Markdown it gives:

# Report

This is **bold**, *italic* and a [link](https://online-tool.ing).

## Action points

- Send the quote
- Make a schedule
    1. Week 1
    2. Week 2

| Name | Role |
| --- | --- |
| Jane | Chair |

> Well done!

Text that arrives as plain text, without formatting, is read as paragraphs; a single line break becomes a Markdown line break.

Where is Markdown used?

Markdown is the standard for README files on GitHub, documentation, wikis, Notion, Obsidian, Discord and many chat and note-taking apps. This tool gets your existing text there quickly. For the other direction, use Markdown to text. If you have HTML code instead of formatted text, use HTML to Markdown.

Frequently asked questions

Does it work with Microsoft Word?

The tool converts the structure your source puts on the clipboard: real headings, lists and tables. Google Docs and web pages normally send that. Desktop Word can mark list items with bullet characters in ordinary paragraphs instead of real lists, and then there is no list for the tool to find, so check the lists in the result, or take the text through Google Docs first.

What happens to underlined text, colours and fonts?

They are dropped. Markdown has no underline, colour or font, so `underlined` pastes as plain `underlined`. Strikethrough is kept and becomes `~~strikethrough~~`, which most Markdown programs, GitHub among them, understand.

How are tables converted?

Into a simple pipe table: a header row, a `| --- | --- |` line and the other rows. Only the text of each cell is used, a `|` inside a cell is escaped as `\|`, and bold or links inside a cell are flattened to text.

Can I choose how headings and lists look?

Yes. *Headings* offers `# Heading` or the underlined style, a heading with `====` underneath. *Bullet character* offers `-` or `*`. *Include images* leaves out the `![alt](address)` lines when you untick it.

Is my text uploaded?

No. The pasted content is cleaned and converted in your browser. Scripts and event handlers in it are removed and nothing is sent to a server.