#2438·markitdown

HTML/DOCX: pipe characters in table cells break Markdown tables

Author: soroush5Created Sep 10, 2026Updated Sep 10, 2026
A literal pipe in an HTML table cell is data, not a column separator, but it is passed through untouched, so the rendered row gains phantom columns. DOCX tables are affected too since they convert via the HTML converter. Repro: ```python import io from markitdown import MarkItDown html = ( '' '
NameNote
AliceHas a | pipe
' ) print(MarkItDown().convert_stream( io.BytesIO(html.encode()), file_extension='.html').markdown) # Before: | Alice | Has a | pipe | (3 columns, broken) # After: | Alice | Has a \| pipe | (2 columns, correct) ``` Same class as the CSV (#2266) and XLSX (#2436) pipe bugs, but in the shared HTML layer (`_CustomMarkdownify`), which neither of those covers. Searched open and closed issues/PRs: no report or fix for HTML/DOCX table pipes (open #1785 covers PPTX only, via pre-escaping).