Slack is a popular team messaging and collaboration application that supports a subset of the Markdown syntax. Different parts of the interface provide different levels of Markdown support.

Messages

Slack’s message interface is the one people use most. Support for some basic syntax is provided, although support for many elements is notably absent.

In November 2019, Slack introduced a new WYSIWYG interface, as shown below. This feature is enabled for all users by default. The most obvious change is the addition of formatting buttons in the interface controls, but there’s also a live editor that hides the Markdown formatting after you type it. You don’t have to use the interface controls to format your text — you can still use the Markdown syntax elements described in the next section.

Slack markdown in the message interface

You can disable the WYSIWYG interface in Preferences > Advanced. Select the Format messages with markup setting, as shown below. Enabling this setting will hide the WYSIWYG formatting buttons and disable the live editor so you can see the Markdown formatting as you type it.

Tip: If you have multiple workplaces open in Slack, you'll need to enable this setting for each workplace.

Enable Markdown in the Slack message interface

Slack Markdown Support in Messages

The Slack message interface provides support for the following the Markdown elements.

Element Support Notes
Headings No
Paragraphs No
Line Breaks No The Markdown syntax is not supported, but you can press the Shift and Return keys to go to the next line.
Bold No The Markdown syntax is not supported, but you can add bold styling with single asterisks, which is the standard Markdown syntax for italic. Very confusing!
Italic Partial Only underscores are supported.
Blockquotes Yes
Ordered Lists Yes
Unordered Lists Yes
Code Partial Code blocks are not supported.
Horizontal Rules No
Links No
Images No The Markdown syntax is not supported, but you can drag and drop images to share them.
Tables No
Fenced Code Blocks Yes Syntax highlighting is not supported.
Footnotes No
Heading IDs No
Definition Lists No
Strikethrough Partial Use only one tilde symbol before and after the phrase.
Task Lists No
Automatic URL Linking Yes
Disabling Automatic URL Linking Yes
HTML No
Tip: This information relates to the message interface in Slack's user interface. The Slack API for messages supports additional syntax elements that aren't supported in Slack's user interface. See Slack's API documentation for more information.

Posts

The Slack post interface is editor that allows you to create a document for sharing in Slack. This is a live editor, which means you will see the actual formatting immediately after you type Markdown formatted text. For example, if you type _test_, the underscores will disappear and you’ll see the word “test” in italics.

To create a post, click the paperclip icon and select Post from the Create new menu, as shown below.

Slack markdown in the post interface

Slack Markdown Support in Posts

The Slack post interface provides support for the following Markdown elements.

Element Support Notes
Headings Partial Only heading levels one and two are supported. Only number signs are supported.
Paragraphs Yes
Line Breaks No
Bold No The Markdown syntax is not supported, but you can add bold styling with single asterisks, which is the standard Markdown syntax for italic. Very confusing!
Italic Partial Only underscores are supported.
Blockquotes Yes
Ordered Lists Yes
Unordered Lists Yes
Code Yes
Horizontal Rules No
Links No
Images No
Tables No
Fenced Code Blocks Yes Syntax highlighting is not supported.
Footnotes No
Heading IDs No
Definition Lists No
Strikethrough Partial Use only one tilde symbol before and after the phrase.
Task Lists No
Automatic URL Linking Yes
Disabling Automatic URL Linking Yes
HTML No

See Also

Want to learn more Markdown?

Don't stop now! 😎 Download the book, star the GitHub repository, and drop in to the Slack chat room. If you liked this and want to receive new Markdown tutorials, enter your email address below. No spam!