Open Editor
Utility
5 min read

Markdown Tables, Task Lists and Footnotes: What ClearMark Renders

Tables, task lists and strikethrough work as GitHub Flavored Markdown says they should. Footnotes do not, and a few small results surprised us. Here is what ClearMark did with 45 test inputs.

Short answer: ClearMark turns Markdown into HTML with marked 15.0.12 in GitHub Flavored Markdown mode, with automatic line breaks switched off. Tables, task lists, strikethrough and bare-link detection work as that format describes. Footnotes and emoji shortcodes do not: a footnote becomes a broken link and its note disappears. A sanitiser then cleans the HTML, so every http or https link gets target="_blank", and a checkbox you type yourself can be removed.

What We Tested

On October 25, 2026 we typed 45 small Markdown inputs into the live tool in a headless Chrome browser, in the Markdown-to-HTML direction, and recorded the HTML it produced. We then ran the same inputs through marked 15.0.12 on its own, with the same options and no sanitiser, to see which differences come from the sanitiser. The preview matched the HTML output for every input except remote images, which the preview replaces with a button. For the wider picture of Markdown conversion, see how to convert Markdown to HTML and, for the reverse direction, what survives HTML to Markdown.

The GitHub Flavored Markdown specification (version 0.29-gfm) adds tables, task list items, strikethrough and extended autolinks to the base CommonMark format. It has no section on footnotes. That matters for one result below.

Tables

A table needs a header row and a separator row of dashes. All nine table inputs behaved predictably:

InputResult
Header, separator and two rowsA normal table
Alignment colons (:--, :-:, --:)Written as align="left", "center" or "right" on both header and body cells, with no style attribute
No pipes at the start or end of rowsStill a table
A cell containing \|A literal pipe inside the cell
Rows with pipes but no separator rowNo table: one paragraph with the pipes as text
Separator with a single dash per columnA valid table
Table directly under a paragraph, no blank lineThe paragraph and the table, separately
Bold, code and a link inside cellsAll three work
A row with too few cells, and one with too manyThe short row is padded with an empty cell; the extra cell in the long row is dropped without any warning

The last row is the one to watch. If a data row has one cell more than the header, that value is silently lost from the HTML.

Task Lists

A list item that starts with [ ] or [x] becomes a checkbox. A capital [X] counts as checked, nested task lists work, and so do ordered lists such as 1. [ ] item. The HTML contains <input checked="" disabled="" type="checkbox">, so the boxes appear in the preview but cannot be ticked there. If there is no space after the closing bracket, as in - [x]no space, it is not a task and the text stays as typed. ClearMark adds no task-list classes to the list.

One more result: a checkbox written as raw HTML, <input type="checkbox">, was removed completely by the sanitiser. The same tag with checked and disabled was kept. Write task lists in Markdown rather than as raw HTML.

Strikethrough

Both ~~two tildes~~ and ~one tilde~ produce a <del> element. Spaces just inside the tildes, as in ~~ spaced ~~, switch it off, and the tildes stay as text. Three tildes at the start of a line do something different: ~~~three~~~ opens a code block, with an empty <pre><code class="language-three~~~">, and everything after it would be treated as code.

Line Breaks

A single newline inside a paragraph does not start a new line. It stays as a newline in the HTML, which a browser shows as a space, so a paragraph hard-wrapped over three lines is still one paragraph. Two spaces at the end of a line, or a backslash, produce a <br>. We could not test Windows line endings on the page: the browser's text box converts them to plain line feeds before ClearMark sees them. Marked gave the same HTML for both when we tested it directly.

Links and Images

  • Bare links. A plain https:// address becomes a link, and a trailing full stop or closing bracket is left out of it. An address inside backticks stays as code.
  • www addresses. www.example.com is linked with an http:// address, not https://.
  • Email addresses. A plain address becomes a mailto: link.
  • The sanitiser adds attributes. Every http or https link gets target="_blank" rel="noopener noreferrer". Marked alone does not do this, and mailto links do not get it either.
  • Remote images. The HTML keeps the image tag, with referrerpolicy="no-referrer", loading="lazy" and decoding="async" added. The preview shows a “Remote image, click to load” button instead. In our test there were no requests to the image address before the click and one after.

What Does Not Work

Footnotes are the clearest failure. With text[^1] and a line [^1]: note, the tool produced text<a href="note">^1</a>. The note line is read as a link definition, so the footnote mark becomes a link to a relative address called “note”, and the note itself is gone from the output. Marked 15.0.12 on its own did the same, so this comes from the library and not from the sanitiser. Emoji shortcodes such as :smile: also stay as typed text.

Two smaller things: &copy; comes out as the character ©, and a heading written as #Heading without a space is a plain paragraph.

What Copy and Download Give You

The download is a file called document.html, a complete HTML page with a doctype, a UTF-8 charset line, a viewport line and a title taken from the first heading, or “Document” when there is no heading. There is no stylesheet. For a small sample with a table, a task list and a struck-through line it was 497 bytes. The Copy button copies only the HTML fragment, without the page around it, so the two are not the same.

If you are choosing between Markdown and a visual editor for the same job, Markdown vs rich text editors covers the trade-offs.


Tables, task lists and strikethrough convert cleanly in ClearMark, and the sanitiser's changes are small and predictable. Check two things before you rely on the output: a table row with too many cells, and any footnote. Both lose content without a warning.

Related posts

For questions or inquiries contact us at info@cleartexteditor.com