Skip to content
Bug reportOct 7, 2026· 0:28· 0 views

Lexical playground: table cell hard line-breaks serialize as \n\n in markdown export (breaks table syntax)

0:28 total

Comments · 0

Be the first to comment.

Bug report— by SceneRecap AI

medium@lexical/markdown Table Transformers / Serialization
os: macOSapp: Lexical Playground (v0.52.0+dev.esm)browser: Chromium 151.0.7922.34viewport: 1280x720

Repro steps

  1. 1.Create or inspect a table containing multiple paragraphs / line breaks within a single table cell (e.g. bottom-right cell containing two 'test' paragraph nodes).
  2. 2.Click the Markdown conversion / view button ('Convert from Markdown' / 'M↓' toolbar button).
  3. 3.Observe the generated Markdown code block for the table rows.

Expected

Table cell multi-line content should export as valid inline Markdown or HTML break tags (such as '<br />') to maintain standard Markdown table syntax.

Actual

The cell content exports with literal '\n\n' (`| | test\n\ntest |`), which violates Markdown table specifications.

Evidence

visualThe AST shows tablecell (57) contains two separate paragraph nodes (58) and (60), each with text 'test'.
visualExporting to Markdown displays line 3 as '| | test\n\ntest |' inside the Markdown code block view.
Issue markdown (copy-paste ready)
### Bug Description
When converting rich text containing a table with multi-paragraph cells to Markdown in Lexical Playground, cell breaks serialize as raw `\n\n` strings instead of `<br>` tags or inline-compatible formatting, breaking Markdown table structure.

### Steps to Reproduce
1. In the editor, create a table where a table cell has multiple paragraphs or line breaks (e.g. two separate paragraphs each containing 'test') [0.0s - 21.0s].
2. Click the Markdown export/toggle button in the editor actions toolbar [22.0s].
3. Inspect the exported Markdown content [23.0s].

### Expected Result
Table cell line breaks should be converted to `<br>` or formatted without introducing raw multi-line breaks that disrupt Markdown table syntax.

### Actual Result
The markdown output renders as:
```markdown
| test | |
| --- | --- |
| | test\n\ntest |
```

*Recorded with SceneRecap.*

Your recordings could explain themselves too.

Free plan · silent recordings welcome · bug reports included.

Try SceneRecap free →
Lexical playground: table cell hard line-breaks serialize as \n\n in markdown export (breaks table syntax) · SceneRecap