You asked an AI assistant for a status report. It gave you clean, well-structured Markdown. You paste it into Slack for your client and it arrives looking like this:
## Q3 summary
- **Revenue** up 24%
| Metric | Q2 | Q3 |
| --- | --- | --- |
Hash symbols where the headings should be. Asterisks around the bold text. A table that is now a pile of pipes. Your client, reasonably, asks what happened.
Why this happens
Markdown is a source format. It is plain text with conventions — ## means heading, ** means bold — that only become formatting when something renders them. Whether your reader sees a formatted document or the raw symbols depends entirely on whether the tool they are reading in speaks Markdown.
Most business tools do not, or only partly:
- Slack renders
*bold*and`code`but ignores headings, tables and links written in Markdown syntax. Its message formatting is similar to Markdown, not the same as it, which is exactly why partial rendering looks so broken. - Email clients render nothing. Markdown arrives verbatim.
- Microsoft Teams supports a subset, inconsistently across desktop and web.
- Google Docs pastes it as literal text unless you use the import path.
- Notion does convert on paste, which is why it feels like Markdown works everywhere until you try somewhere else.
The .md file itself has the same problem. Send it as an attachment and most people either cannot open it or get it in a text editor, symbols and all.
Four ways to fix it
1. Publish it as a web page
Render the Markdown once, host it at a URL, send the link. Your recipient opens a normal web page with real headings, a working table and clickable links. Nothing depends on what their email client supports.
This is the only option that survives being forwarded. If your client passes the report to their colleague, the link keeps working; a pasted blob of Markdown degrades again on every hop.
You can publish a .md file to a link directly, or have your assistant publish it from the chat so there is no download step.
2. Convert to PDF
Fine for something genuinely final. You lose working links and the document stops being readable on a phone without pinch-zooming, but if it is going into a records system, PDF is often what is wanted anyway.
3. Paste into a rich-text editor first
Notion, Google Docs (via import) and some email clients will convert Markdown into real formatting on paste. Then copy that and send it. It works, but it is manual, it usually mangles tables, and you have to redo it every time the report changes.
4. Rewrite it as plain prose
Ask the assistant for the report with no Markdown formatting at all — just paragraphs. Sometimes this is the honest answer for a short update that never needed a table. It is a bad answer for anything structured.
Which to choose
If the report is going to one person, once, and it is three paragraphs long, paste it as plain prose and move on.
If it has headings, tables, or a structure worth preserving — or if more than one person will read it, or anyone might forward it — publish it. Everything else is a workaround you will repeat next month.
Check how it will render first
If you want to see what your Markdown looks like as a finished page before committing, paste it into the free Markdown preview. It uses the same renderer as a published page, so the preview is not an approximation — it is the output.
A note on AI-generated reports specifically
This problem got much more common very quickly, because assistants default to Markdown. Ask for "a summary" and you get headings and bullets, because that is what reads well in the chat window. The formatting that makes it readable in the assistant is exactly what breaks when you move it anywhere else.
That is worth knowing rather than fighting: the Markdown is good output. It just needs rendering before it reaches a human who is not sitting in a chat interface.