The Pandoc HTML reader is, perhaps surprisingly, worse for reading HTML than the Markdown reader, which will generally preserve HTML (because Markdown is defined as a superset of HTML). So if you want to read HTML without erasing stuff, you are generally better off specifying the *Markdown* reader. The results can be kinda ugly, but there's no way around it: there is no 'native' Markdown for a checkbox input, so it uses the fallback. Example: $ echo '
' | pandoc -f html -w markdown $ echo '' | pandoc -f markdown -w markdown ```{=html}``` ``{=html} ```{=html}
``` The HTML reader can't understand the so it is silently dropped. The Markdown reader treats it as a HTML fragment embedded in Markdown, which is preserved as a literal, and passed through. -- gwern https://gwern.net