Text to Markdown

Type or paste your text into the visual editor on the left. Markdown with your chosen formatting rebuilds on the right after every edit.

Markdown

updates as you edit

Markup style

While you type or paste text into the editor on the left, the ready Markdown builds on the right. Every edit rebuilds it from scratch. The field on the right is read-only: changes go only into the editor. From there you copy the result with the "Copy Markdown" button or save it with the "Download .md" button into a file named text.md.

What turns into what

The page converts each piece of formatting into its own markup sign. A heading becomes a line with #, ## and so on by level. Bold text produces **, italics are written as * or _, and strikethrough is marked with ~~. A list turns into lines with a bullet marker, a nested one is shifted by an indent, and a numbered one gets 1. at the start. A quote is marked with the > sign, and a link is written as [label](address). A list item with a checkbox becomes - [x], without one - [ ]. A table is built from lines with the | sign plus a line of dashes under the header, and a code block is fenced with three backticks or marked with an indent.

Not everything from the editor survives the conversion to Markdown. Superscript and subscript, underline, color, the keyboard-key sign, video, sound, frames and merged table cells stay as HTML tags. Under the field, each such case gets its own note that says exactly what was not converted. When your input is ready page code, use the HTML to Markdown converter.

A hash sign at the start of a line gets a backslash in front of it, otherwise the line would read as a heading. The escaping exists so the markup reads back as the same text.

Why change the markup style settings

The "Markup style" block decides which signs record the same thing: headings, the list marker, italics, code blocks, line breaks, merged table cells. The option names are visible on screen, but some limits are not spelled out there. Underlined headings work only at levels 1 and 2, deeper levels always use hash signs. A code block with a language specified always gets the backtick fence. The "Two spaces" line-break option leaves nothing you could spot by eye.

If you don't know what to pick, leave everything as it is. Changing the settings makes sense when the receiving side reads markup in its own way, and you pick for that side.

Pasting from Word and Google Docs

Along with the text, Word brings extra service leftovers: mso classes, empty tags, non-breaking spaces. A list from Word often arrives as paragraphs one after another, with a "·" marker typed right into the text. The "Clean up Word and Google Docs paste" checkbox removes the leftovers, reassembles the paragraphs into a list and strips the markers.

In Google Docs, bold and italics are set by style, and the cleanup turns the style into a tag, or the emphasis would be lost. Bold inside a heading becomes plain text, because a heading in Markdown is already emphasized. When the cleanup has run, a note appears under the field. With the checkbox off, the paste stays as it came.

If the paste came out crooked, clear the editor with the "Clear" button and paste the text again with the checkbox on. For output as HTML code use the visual HTML editor: it is the same editor, but with code as the output.

Rate this tool

Help us get better

Other tools