Markdown to HTML Converter — GFM Tables, Task Lists & Strikethrough to an HTML Snippet
Paste Markdown and get an HTML fragment generated by remark + remark-gfm: tables, task lists, strikethrough, autolinks and footnotes included. The output has no doctype, head or style block, and there is no code highlighting, no math, no HTML-to-Markdown, and raw HTML in the Markdown is dropped.
What this Markdown-to-HTML converter handles — and what it does not
GFM tables, task lists, strikethrough and footnotes
remark-gfm is enabled, so pipe tables become <table>, task lists become disabled checkboxes, ~~text~~ becomes <del>, bare URLs become links, and [^1] produces footnote references plus a footnote section. The footnote section is labelled "Footnotes" in English.
An HTML fragment, not a full document
The output starts at your first tag: no <!doctype>, <html>, <head> or <style>. Inline style attributes are added to h1–h4, p, pre, code and a, so the snippet is readable standalone; tables, lists and images get no styling.
No syntax highlighting and no math
A fenced block only gets a language class such as class="language-js" — no colored spans. Math such as a^2+b^2 is left as literal text; there is no KaTeX or MathJax step.
One-way conversion, entirely local
Markdown goes in through a textarea and HTML comes out in a read-only textarea or the Render toggle, where Copy HTML puts text/html on the clipboard. There is no HTML-to-Markdown, no file upload, no image URL fetch, and no network request.
Raw HTML is dropped, link URLs are not sanitized
<script>, <div> and event-handler tags written in the Markdown are removed (their inner text remains), but href values pass through as-is: javascript: and data: links survive in the output.
Markdown to HTML FAQ
Which parser does it use?
unified 11 with remark-parse 11 (micromark), remark-gfm 4, remark-rehype 11 and rehype-stringify 10. remark-rehype runs with its default settings, so embedded HTML in the Markdown is ignored rather than parsed.
Is GFM support complete?
Tables, task lists, strikethrough, autolink literals and footnotes all work. Task-list checkboxes are emitted as disabled <input type="checkbox">; footnotes render a <sup> reference and a section labelled "Footnotes" in English regardless of the interface language.
Is there syntax highlighting?
No. Code blocks only carry a language class such as language-js, with no token spans or colors. Styling is limited to the inline styles this page adds to headings, paragraphs, pre, code and links.
Can it convert math or formulas?
No. There is no math plugin, so a^2+b^2 or LaTeX-like $...$ syntax stays as plain text in the HTML.
Do I get a complete HTML document?
No. The result is a fragment with no doctype, html, head or style element. Only h1–h4, p, pre, code and a receive inline style attributes; tables, lists and images have none, so bring your own stylesheet.
Can I convert HTML back to Markdown, or upload a file?
Neither. Conversion is one-way and input is a textarea only; there is no file picker, no URL import and no fetch. What you can do is copy the result as text/html for a rich-text editor.
How is XSS handled?
Raw HTML in the Markdown is dropped, so <script> or <img onerror> never reaches the output. Link targets are not sanitized, though: javascript: and data: hrefs survive, and the Render toggle injects the HTML with dangerouslySetInnerHTML, so a crafted link could run if clicked. Sanitize before publishing untrusted content.

