# all·markdown

Markdown by platform

The same document does not look the same in every app. Below is what each of eleven platforms actually supports, side by side, and a page for each one explaining where it draws its lines and why.

What works where

Eight elements against twelve products. Where the answer is neither yes nor no, the cell says what you type instead.

Platform BoldItalicHeadingsLinksListsTablesCode blocksImages
GitHub YesYesYesYesYesYesYesYes
Obsidian YesYesYesYesYesYesYesYes
VS Code YesYesYesYesYesYesYesYes
Notion YesYesYesYesYesYesYesYes
Confluence YesYesYesYesYesYesYesYes
Jira *bold*_italic_h1.YesYesYes{code}Yes
Slack *one star*_underscores_NoAuto onlyNoNoYesNo
Discord YesYesYesAuto onlyYesNoYesNo
Teams YesYesNoYesYesNoYesNo
Telegram YesYesNoYesNoNoYesNo
Reddit YesYesYesYesYesYesYesNo
WhatsApp *one star*_underscores_NoAuto onlyYesNoYesNo

"Auto only" means links are detected in what you type but there is no syntax for giving one different text — you can paste a URL, you cannot write [text](url).

Three kinds of platform, and the difference matters

The table above sorts by product. The more useful division is by what the product does with your Markdown, because it predicts almost everything else:

Where documents live

Markdown as a file format: what you write is what is stored, and it survives being moved somewhere else.

  • GitHub — The fullest flavour, and the one everything else is measured against.
  • Obsidian — Plain files on your disk, plus wikilinks and embeds that only Obsidian reads.
  • VS Code — A built-in preview, and the settings that surprise people.

Where documents are assembled

Markdown as an input method. These store their own format and use Markdown at the door, which is why round trips lose things.

  • Notion — Typing shortcuts rather than stored Markdown — the file is a database row.
  • Confluence — Its own storage format; Markdown goes in and out by conversion.
  • Jira — Not Markdown at all — wiki markup, with h1. for a heading.

Where messages are sent

A subset, chosen for one-line messages. No headings, usually no tables, and each one draws its own line.

  • Slack — mrkdwn: one asterisk for bold, and no headings in a message.
  • Discord — Close to standard, plus spoilers, and headings only since 2023.
  • Teams — A subset in messages, a narrower one in cards.
  • Telegram — A short list by hand; MarkdownV2 escaping for bots.
  • Reddit — Real Markdown, plus superscript and spoilers.
  • WhatsApp — Not Markdown. One asterisk is bold, and there are no links or headings.

The rules that hold everywhere

If a document has to survive being pasted somewhere you have not checked, four habits cover most of it:

Try it before you send it

The editor renders GitHub Flavored Markdown, which is the most complete of these — so anything that looks right there is at worst going to lose features elsewhere rather than break. For the reverse direction, each platform's page has a live demo of that platform's own rules.

Common questions

Why does Markdown look different on every platform?
Because there is no single standard that covers everything. CommonMark specifies the core — headings, emphasis, lists, links, code — and every serious renderer follows it. Beyond that, each product chose its own additions and, more importantly, its own subtractions. A chat app has no use for a heading in a one-line message, so it did not implement one.
Which platform supports the most Markdown?
GitHub, and it is not close. GitHub Flavored Markdown is CommonMark plus tables, task lists, strikethrough, footnotes, autolinking and alerts, and it also allows a useful subset of raw HTML. Most other tools describe their support by naming which parts of GitHub they match.
Why do Slack and WhatsApp use one asterisk for bold?
Neither started from Markdown. Both grew their formatting from the plain-text conventions people already used in chat, where *emphasis* meant shouting rather than italics. It predates Markdown as an influence on them and it is now too widely used to change.
Can I write once and paste everywhere?
For bold, italic, links, bullet lists and inline code, yes — those work almost everywhere. Headings and tables are where documents break, because most chat apps have neither. If a document has to travel across several of these, write it with those two in mind and check the table above.
Which of these store my Markdown as a file?
GitHub, Obsidian and VS Code: what you write is what is on disk. Notion, Confluence and Jira store their own structure and accept Markdown as input, so exporting gives you a conversion rather than your original file. The chat apps store messages and no file exists at any point.