# all·markdown

Markdown in Microsoft Teams

Teams converts a subset of Markdown as you type — bold, italic, code, quotes, headings and lists all work. Tables, images and links with custom text do not, and the subset changes again inside Adaptive Cards, which is where most of the confusion comes from.

The preview is standard Markdown — the second half is what Teams ignores

Result

Open the full editor Runs in this tab — nothing is uploaded.

What a message supports

FormatSyntaxNotes
Bold**bold**Converts as you type
Italic_italic_ or *italic*Either works
Strikethrough~~struck~~Two tildes, as standard
Inline code`code`Monospace, no highlighting
Code blockthree backticks, then EnterLanguage hint ignored
Quote> quotedOne level only
Heading# to ### Three levels
Bulleted list- itemNests with indentation
Numbered list1. itemRenumbers itself
Link with textnoneBare URLs link themselves
ImagenonePaste or attach instead
TablenoneToolbar, or paste from Excel

Enter sends. That is the real problem.

By default Enter sends the message, which is why so many Teams messages arrive in three pieces. Shift+Enter inserts a line break instead, and expanding the compose box switches the two round so Enter behaves like an editor.

Learn one of those before writing anything with a list in it.

Getting a table in

Markdown table syntax renders as pipes. Three things that work, in order of how well:

Cards are a different subset

Adaptive Cards — what bots, workflows and connectors post — support a narrower set than messages do. No headings, no images by Markdown, and the supported inline formats vary by host application.

This is a genuine trap rather than a detail: a message that renders correctly when a person types it can break when the same text goes through a workflow into a card. Tables in cards come from card elements rather than from Markdown, so anything relying on syntax has to be rebuilt.

Test card content in a card. Testing it in a message proves nothing.

Pasting a document in

Pasting raw Markdown gives you raw characters — Teams converts as you type, not as you paste. Copy as rich text instead and the formatting arrives intact.

Open the document in the editor and use Export → Copy as rich text. For anything longer than a few paragraphs, an attached file or a Loop component is a better home than a chat message.

Common questions

Does Microsoft Teams support Markdown?
A subset, and it converts as you type rather than storing the characters. Bold, italic, strikethrough, inline code, code blocks, quotes, headings and lists all work in a message. Tables, images by syntax and links with custom text do not.
How do I make a code block in Teams?
Three backticks then Enter, which opens a code block in the compose box. Shift+Enter inside it adds a line without sending. The language hint after the backticks is ignored — Teams has no syntax highlighting in messages.
How do I make a table in Teams?
Not with Markdown — pipes render literally. Use the formatting toolbar's Insert table, paste a table copied from Excel or Word, or fall back to a code block with hand-aligned columns when the message has to stay plain.
Why did my message send before I finished typing?
Enter sends by default. Use Shift+Enter for a new line, or switch the compose box to the expanded view where Enter inserts a line break instead. This is the reason so many Teams messages arrive in three pieces.
Is Markdown different in Teams cards and bots?
Yes, and it is a genuine trap. Adaptive Cards support a narrower subset than messages — no headings and no images by Markdown, though they do support tables through card elements rather than syntax. A message that renders correctly can break when moved into a card.
Can I paste Markdown into Teams?
Pasting plain Markdown gives you the raw characters. Copy it as rich text instead and Teams accepts the formatting — the editor here has a Copy as rich text export for exactly this.