Publishing destinations

Pasting Markdown Tables into Slack and Teams Without Losing Alignment

Written and reviewed by the md2text maintainer. Parser-specific guidance is checked against the automated regression suite.

Chat tools are convenient places to share quick status updates, but they are not always friendly to tables. Slack, Teams, and similar tools may collapse spacing, use proportional fonts, or treat Markdown differently from GitHub or a README preview. The result is familiar: a table that was readable in your editor becomes a jagged block after paste.

Plain-text tables can still work well in chat, but the destination needs a little help.

Prefer code formatting for aligned output

If you paste a grid table as normal text, the chat client may use a proportional font. Columns can drift because narrow and wide characters do not occupy the same space.

For Markdown-aware chat tools, wrap the result in a fenced code block:

```text
+----------+--------+-------------+
| Check    | Status | Owner       |
+----------+--------+-------------+
| Login    | Ready  | Support     |
+----------+--------+-------------+
| Billing  | Review | Platform    |
+----------+--------+-------------+
```

The text language hint is simple and honest. It tells readers this is formatted plain text, not source code.

Use shorter cells than you would in a README

Chat messages are scanned quickly. A wide table forces horizontal scrolling or wrapping, especially on mobile. Keep cells short:

| Topic | Status | Next |
|---|---|---|
| Login | Ready | Watch |
| Billing | Review | Confirm tax |
| Email | Blocked | Fix SPF |

If a row needs more explanation, put the explanation after the table:

Billing needs one more tax-rule check before release.

The table gives the snapshot; the paragraph gives the nuance.

Choose Simple text when code blocks feel too heavy

For quick replies, Simple text can be easier to read:

Topic    Status   Next
-------  -------  -----------
Login    Ready    Watch
Billing  Review   Confirm tax
Email    Blocked  Fix SPF

Simple text uses less vertical space than a full grid. It is a good fit for short support replies, daily status notes, and chat updates where strong borders would feel noisy.

Avoid relying only on emoji

Emoji status markers are useful, but they can render differently by device:

| Area | Status |
|---|---|
| Docs | ✅ Ready |
| API | ⚠️ Review |
| Billing | ❌ Blocked |

Pair emoji with words. The word keeps the meaning clear for screen readers, search, copied text, and devices that show emoji differently.

What to do when spacing is lost

If your pasted table loses alignment:

SymptomLikely causeFix
Columns driftProportional fontPaste as a code block
Lines wrapTable too wideUse Simple text or split columns
Borders look busyGrid is too heavyUse Simple text
Emoji width shiftsPlatform renderingAdd text labels
Markdown table stays rawTool does not render tablesConvert to text first

The safest chat workflow is: convert the Markdown table, check max line width, copy as a fenced text block if spacing matters, and keep long explanations outside the table.

Convert your own table

Paste a Markdown table into the converter and choose ASCII grid, Unicode box, or Simple text output. Conversion runs locally in your browser.

Convert a Markdown table