Paste to Markdown
No clicks needed. Just press Cmd+V (or Ctrl+V) to paste, and it instantly becomes Markdown.
Markdown Editor
How it works
Copying formatted content puts two versions on your clipboard at once: the visible text, and an HTML version carrying the structure. This page intercepts the paste before the browser can drop the second one, parses that HTML into a document tree, walks it, and writes Markdown for each element it recognises. If the clipboard has no HTML version, which is what happens when you copy out of a terminal or a plain text editor, the text is inserted exactly as it is.
What the output looks like
Headings use hash marks rather than underlines. Emphasis becomes double asterisks for bold and single underscores for italic. Bullets use an asterisk, with sublists indented four spaces so that nesting survives; numbered lists keep their numbering. Block quotes get an angle bracket, horizontal rules become three dashes, and links are written inline with the address in brackets after the text. Code inside a preformatted block comes out fenced, and if the source tagged it with a language class the fence keeps that language, so a snippet marked as JavaScript stays marked as JavaScript.
Tables get special handling
Left alone, the conversion engine has no concept of tables and would spill every cell out as its own loose paragraph. A dedicated rule reads the row and cell structure directly and builds proper pipe tables instead, padding short rows so the columns line up and escaping any pipe character that appears inside a cell. Two consequences are worth expecting: a cell holding multiple paragraphs is collapsed onto a single line, and a table whose first row is made of ordinary cells rather than header cells is given a blank header row, because the pipe table format cannot exist without one.
Known rough edges by source
Conversion is driven by tags, and some applications express formatting as CSS instead, which produces predictable artifacts. Content from Google Docs arrives inside a bold wrapper that the document then cancels with a style attribute, so you get a stray pair of asterisks around everything, and bold set through a font-weight declaration is lost. Content from Word and Outlook travels with a stylesheet attached, which has no Markdown equivalent and lands at the top of the box as literal CSS to be deleted. Strikethrough and checkbox lists lose their markers wherever they come from, since both are extensions rather than core Markdown. Pages you copy from the open web are usually the cleanest source of all.
Working with the box
Each paste replaces everything, so build long documents one chunk at a time and copy each result out before pasting the next. After conversion the box is an ordinary editor: fix the artifacts above, tidy heading levels, then use Copy. Everything happens inside the tab, with no upload and no stored copy, and refreshing starts you clean. When you want to check that the result renders correctly, or you need to go the other way from Markdown to HTML, the Markdown Previewer is the companion tool.
The paste is the whole interface
There is no Convert button. The paste event is intercepted, the HTML flavour is read off your clipboard, and Markdown is what lands in the box. If the clipboard carries no HTML, the plain text is inserted untouched.
GitHub-flavoured output
Hash-style headings, asterisk bullets with four-space nesting, fenced code blocks that keep their language tag, inline links, three-dash rules, and real pipe tables built by a dedicated rule.
Converted in the tab
The HTML from your clipboard is parsed and walked by your own browser. Nothing is uploaded, nothing is stored, and the result is editable text you can fix up before copying.
Frequently Asked Questions
Why is there a stray ** at the top and bottom after pasting from Google Docs?
Google Docs wraps its entire clipboard fragment in a bold element that it then cancels with inline CSS. The converter reads tags, not styles, so it sees a bold wrapper around the whole document and faithfully emits , your content, and again. Delete the two markers after pasting. The same mismatch explains the next question.
Why is my bold and italic text coming through as plain text?
Because the styling is CSS rather than markup. Google Docs exports emphasis as a span carrying a font-weight declaration instead of a bold tag, and there is no rule that inspects CSS, so the span contributes only its text. Content from ordinary web pages and from most CMS editors uses real tags and converts correctly. If you need the emphasis preserved from Docs, export the document as HTML or as Markdown from the File menu and work from that instead.
Why did a block of CSS end up at the top of my Markdown?
Some applications, Word and Outlook among them, put a stylesheet on the clipboard alongside the content. There is no rule that discards a style block, so its font definitions and layout rules are treated as ordinary text and appear above your first paragraph, sometimes still wrapped in comment markers. Select that opening block and delete it; everything after it is your real content, correctly converted.
Do tables convert properly?
Yes, through a rule written specifically for this page, because the underlying converter has no table support of its own. Rows become pipe-delimited lines with an alignment row beneath the header, and any pipe character inside a cell is escaped so it cannot break the columns. Two details to expect: a cell containing several paragraphs is flattened onto one line, and a table whose first row has no header cells gets an empty header row, because the format requires one. Type your column names into it after pasting.
What happens to images?
An image tag becomes Markdown image syntax pointing at the original address, so the file is referenced rather than downloaded or embedded. That matters for Google Docs, whose image URLs are temporary and will stop resolving, so re-host anything you intend to keep. Pasting an image on its own gives you an empty box, since a bitmap on the clipboard carries no text to convert.
Why did my second paste wipe the first one?
Each paste replaces the entire contents rather than inserting at the cursor. To assemble a document from several sources, convert one chunk, copy it out to its destination, then come back and paste the next. Typing and editing in the box behave normally; it is only the paste that starts fresh.
Are strikethrough and task lists supported?
No. Struck-through text arrives as ordinary text with no tilde markers, and a checklist loses its checkboxes and becomes a plain bullet list. Both are extensions rather than core Markdown. Add the tildes and the bracket pairs by hand after pasting.
Can I convert Markdown back into HTML?
This page only runs in one direction. For the reverse, and for checking that your Markdown renders the way you expect, use the Markdown Previewer, which shows rendered output beside the source.
Is any of this sent to a server?
No. Your clipboard HTML is parsed and converted by your own browser, no request is made, and nothing is written to browser storage. Refreshing the page clears the box.