Markdown is readable as plain text, which makes it easy to publish without checking how a renderer will treat it. A heading needs a space after the hashes. A blank line changes a paragraph break. A link with a relative path may be rejected. The Markdown editor shows a Write tab and a Preview tab, then lets you copy the generated HTML. It is a quick way to catch formatting mistakes before pasting content into a CMS.
Part of the word counter guide. The editor is not a full CommonMark implementation and it is not a split-pane live editor. Knowing the supported subset is more useful than expecting GitHub-flavored Markdown to work everywhere.
What the editor supports
The parser handles a narrow set of block and inline rules. It extracts fenced code blocks first, escapes the remaining HTML, then converts headings, blockquotes, unordered lists, inline code, links, bold and italic text. Paragraphs are split on blank lines, and single newlines inside a paragraph become line breaks.
| Feature | Syntax | Preview result |
|---|---|---|
| Headings | # through ###### plus a space | h1 through h6 |
| Bold | **text** | strong text |
| Italic | *text* | emphasized text |
| Inline code | backticks around text | monospace code |
| Link | [label](https://example.com) | new-tab link |
| Unordered list | - item or * item | bullet list |
| Blockquote | > text | indented quote |
| Code block | triple backticks around lines | preformatted block |
Links are restricted to absolute http://, https:// and mailto: URLs. A relative path such as /contact becomes # in the generated HTML. That is a safety default, but it also means internal links need to be absolute before they survive this preview. The output adds target="_blank" and rel="noopener noreferrer" to every accepted link.
Raw HTML is escaped. A literal <strong> in the Write tab appears as text, not as bold markup. That is useful when you are documenting HTML, but it also means an embed, iframe or styled callout will not render here. Add those elements in the CMS after the Markdown step.
What does not render
The omissions are the practical source of surprises:
- Tables. Pipe characters and separator rows stay as paragraph text. Use a CMS table block or build the table in HTML after export.
- Ordered lists. Lines beginning with
1.are not converted into an ordered list. They remain paragraph lines, often separated by line breaks. - Images. Image syntax is not converted into a figure. It can appear as an exclamation mark followed by a sanitized link, not as an image.
- Nested lists. Indentation is not used to build a hierarchy. Consecutive bullet lines become one flat unordered list.
- Task lists, footnotes and strikethrough. None of these extensions are parsed.
- Syntax highlighting. A language label after the opening fence is kept as the first line of the code block rather than used to color the code.
A table is a good test case. Paste a two-column table into the editor and switch to Preview. If the pipes are still visible in a paragraph, the parser did not recognize the table and the CMS will need to handle it. The same applies to an ordered procedure: if the numbers remain plain text, convert the steps to bullets here or rebuild the ordered list in the publishing tool.
Fenced blocks need a closing fence. The parser extracts a complete block only when it finds an opening and closing set of triple backticks. An unclosed fence can produce a confusing mix of code and paragraph text. Close the fence, then check that the language label is acceptable as a first code line or remove it.
A preview-first publishing workflow
- Write or paste the draft in the Write tab.
- Add a blank line between paragraphs and keep a space after heading hashes.
- Switch to Preview and check headings, bullet structure, links and code blocks.
- Open the generated HTML details if you need to confirm the exact tags before copying.
- Use Copy HTML, then paste into the CMS in text or code mode rather than visual mode.
- Check the published page in the CMS theme, because the editor's preview styles are not exported with the HTML.
The tab switch matters. The preview is recalculated when the source changes, but you only see it on the Preview tab. There is no side-by-side view, so keep the draft short enough to compare sections without scrolling far. For a long article, preview one section at a time or paste the final HTML into a local page for a second check.
Copy HTML exports the generated fragment, not a complete document. It does not include the editor's fonts, spacing, dark code background or responsive layout. A CMS may strip tags it does not allow, especially links with target attributes or raw code blocks. That is another reason to inspect the published result instead of trusting the preview alone.
Size, storage and privacy limits
The editor has a 512,000-character guard labeled as 500 KB. If a paste exceeds it, the page truncates the input and shows a size error. That is large enough for most articles but not for a full documentation export. Split a long document before previewing, or use a desktop editor for the complete file.
Nothing is uploaded or saved by the page. Refreshing clears the draft, and there is no account, history or download button. Copy the HTML or keep the Markdown source somewhere else before closing the tab. The Clear button empties the editor, while Reset example restores the built-in sample.
The safety rules are useful but not a publishing policy. Raw HTML is escaped and unsafe link protocols are rejected, yet the CMS still owns the final sanitization, canonical URLs and accessibility checks. Treat the preview as a formatting check, not as a security review.