How to use
- Type or paste Markdown into the Markdown box.
- The preview updates after you stop typing. On a narrow screen it appears below the editor.
- Use Clear to remove the text and the preview.
What is supported
Headings, paragraphs, bold, italic, strikethrough, inline code, fenced and indented code blocks, blockquotes, ordered and unordered lists (including nested lists), task lists, tables with column alignment, links, horizontal rules, line breaks and automatic links for URLs and email addresses.
The parser follows CommonMark with the GitHub Flavored Markdown extensions as implemented by the marked library. Results can differ in small ways from GitHub or other renderers. Footnotes, math, front matter, emoji shortcodes, syntax highlighting and diagrams are not supported.
Safe by design
Markdown is untrusted input, so this tool never turns your text into HTML. The preview is built from a fixed set of elements. Raw HTML such as <script> or <img onerror=…> is shown as literal text and is never run.
Links open only when they are absolute http, https or mailto addresses. Other targets, such as javascript: and data: URLs, relative links and links that contain credentials, are shown as inactive text together with the target. Links that open use rel="noopener noreferrer nofollow" and a new tab.
Images are never loaded, so previewing a document cannot trigger a request to another site. An image appears as a text placeholder with its description.
Limits and slow documents
The source is limited to 500,000 characters, nesting to 32 levels and the preview to 50,000 elements. Larger documents are rejected with a message, not partly shown.
Parsing runs in a background worker and is stopped after 2 seconds. Some documents are slow for the parser, for example thousands of unclosed * or _ markers. These are stopped and reported so the page stays responsive. If your browser cannot start a worker, the tool shows an error instead of parsing on the page itself.
In the preview your headings are shown one to three levels smaller than written (a # heading is shown as a level-3 heading) so the page keeps a single main heading.
FAQ
- Is my Markdown uploaded?
- No. It is parsed by a worker in your browser. It is not sent to a server, not stored, and not added to the page URL.
- Why is my HTML shown as text?
- To keep the preview safe, raw HTML is never rendered. If a document depends on HTML to look right, it will look different here than on a site that allows HTML.
- Why is my image missing?
- Images are not loaded on purpose. Loading an image from another site would reveal your IP address to that site and could be used for tracking.
- Why is an &-entity such as © not converted?
- Only the entities & < > " ' and numeric character references are converted. Other named entities are kept exactly as written.