The pipe character is both table syntax and a character people legitimately need in shell commands, TypeScript unions, regular expressions, and prose. If a cell contains an unescaped |, the renderer may interpret it as the next column boundary.
Escape a literal pipe
Use a backslash immediately before the pipe:
| Expression | Meaning |
| :--- | :--- |
| `ready \| waiting` | Either state is accepted |
| `string \| null` | A TypeScript union |
Some renderers process code spans before table delimiters, while others still require the pipe inside backticks to be escaped. Escaping it is the more portable choice. If a generator accepts raw cell values, it should add the escape during Markdown output rather than modifying the visible value in the editor.
Understand backslash input
When the original value already contains \|, a naive formatter may add a second backslash every time it runs. A reliable workflow distinguishes the raw grid value from the serialized Markdown value. Edit the raw text, then escape exactly once at export.
This distinction is especially important when importing an existing Markdown table. The importer should decode Markdown escapes into the editable grid, and the exporter should encode them again.
Handle line breaks deliberately
Most Markdown table implementations expect one source line per row. A literal newline inside a cell therefore ends the row. There are three practical choices:
- Replace the newline with a space when the distinction is unimportant.
- Use
<br>when the destination allows inline HTML. - Move detailed content below the table and link to it from a short cell.
The third option often creates more accessible documentation. Large paragraphs inside narrow columns are difficult to read on mobile even when the renderer accepts HTML breaks.
Test the target renderer
Escaping rules depend on the Markdown implementation and its HTML policy. GitHub, a static site generator, and an internal documentation portal can produce different output from the same source. Keep a minimal test table in the repository if pipes and inline code are central to the documentation.
The visual table generator escapes pipes during output and lets you copy the result without sending cell content to a server.