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.
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.
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.
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 | Partial | Standard Markdown syntax is *only* supported if WYSIWIG editor is disabled. |
Unordered Lists | Partial | Standard Markdown syntax is *only* supported if WYSIWIG editor is disabled. Only supports dash and asterisk for unordered list. |
Code | Partial | Code blocks are not supported. |
Horizontal Rules | No | |
Links | Partial | Standard Markdown syntax is *only* supported if WYSIWIG editor is disabled. |
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 | No | |
Footnotes | No | |
Heading IDs | No | |
Definition Lists | No | |
Strikethrough | Partial | Use only one tilde symbol before and after the phrase. |
Task Lists | No | Is interpreted as an unordered list |
Emoji (copy and paste) | Yes | |
Emoji (shortcodes) | Yes | |
Highlight | No | |
Subscript | No | |
Superscript | No | |
Automatic URL Linking | Yes | |
Disabling Automatic URL Linking | Yes | |
HTML | No |
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 shortcuts icon and select Create a Post as shown below.
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 | No | |
Footnotes | No | |
Heading IDs | No | |
Definition Lists | No | |
Strikethrough | Partial | Use only one tilde symbol before and after the phrase. |
Task Lists | No | |
Emoji (copy and paste) | Yes | |
Emoji (shortcodes) | Yes | |
Highlight | No | |
Subscript | No | |
Superscript | No | |
Automatic URL Linking | Yes | |
Disabling Automatic URL Linking | Yes | |
HTML | No |