Convert HTML or text pasted from web pages and Google Docs into clean GitHub Markdown: tables, task lists, code blocks and nested lists, all in your browser.
Moving a blog post into a static site, a Google Doc into a README, or a help-centre page into a wiki usually ends with someone retyping asterisks by hand. Copy the formatted text instead, paste it into the orange box, and the Markdown is ready to copy a moment later.
The source box opens with a short set of release notes, so the first line of output reads # Release 4.2 — Faster Checkout and every construct below it, from the task list to the right-aligned table, has an example.
# or underlined headings, the bullet character, _ or * for italics, code fences, inline or reference links and the line-break style, then Copy Markdown or Download .md.Under the output, a report lists what was converted and what was thrown away, for example “3 headings, 1 table, 2 links” and “<script> ×1”. It is the quickest way to check that nothing important was lost.
The output is GitHub-flavoured Markdown. Tables keep their column alignment from align or text-align, and a cell spanning two columns is followed by an empty one so the row still lines up. Checkboxes in list items become [x] and [ ]. A numbered list that starts at 3 still starts at 3. Code blocks take their language from a language-js or lang-js class, and inline code containing a backtick is wrapped in a longer run of backticks so it survives. Definition lists, which GFM lacks, become - **term**: definition. <kbd>, <sup>, <sub> and <mark> stay as inline HTML, which GitHub renders.
Google Docs does not use <strong> or <em>: it wraps the whole paste in a <b style="font-weight:normal"> and marks bold and italic with styled spans. The converter reads those styles, so a Docs paste keeps its bold, italics and strikethrough instead of turning into one bold block.
Scripts, styles, embedded video, iframes and form controls are dropped, since Markdown has nowhere to put them. If that leaves nothing, the tool says “No readable content: everything in this HTML was dropped (scripts, styles or form controls).” Relative links such as /docs/keys are kept as they are unless you fill in Base URL, in which case they become full addresses. Text that would accidentally start a heading or a list, such as a paragraph beginning “# 1”, and stray asterisks, underscores and brackets are escaped with a backslash. Everything runs in this tab; pasted content is not uploaded.
Paste formatted text (from a web page, Google Docs or Word)