From the Slack blog:

In the past, you needed to type *asterisks* for bold text or _underscores_ for italics. It was also difficult to tell what your messages would look like before you posted them. Well, that’s all changing with the new text formatting toolbar.

There are two kinds of editors in this world: those that preserve the raw version of what you write, and those that immediately cast to the final result on the fly as you write. The former kind of editor is good. The latter is evil — pure evil. Slack has gone from a good editor to an evil editor with this update. They did this in the name of helping non-power-users be able to see what their post would look like before they hit enter.1 But it comes at the expense of those who care about markdown.

What’s a good example of a platform that keeps the raw version? GitHub. What’s a good example of one that doesn’t? Jira.2 I use those two tools very often every day. Which of those two experiences is more delightful? GitHub, by a mile. It’s not even close.

Show me an editor that seeks to figure out your markdown on the fly, and I’ll show you an editor that inevitably gets confused in the midst of its necessarily complex algorithm. I have never seen an editor that casted on the fly that didn’t break down at some point. It also introduces needless complexity to something that should be simple.3

Here’s to hoping that Slack builds a setting to turn off this on-the-fly casting, but I’m not holding my breath.

Update November 21: this morning I just had an instance in which a Slack blockquote failed to cast in a situation that I expected it to. One easy way to reproduce this is to write a>test, then delete the a and then add a space between > and test. Hit enter, and the final result will be > test, not a blockquote. Prior to this Slack change it would have been impossible to have this as a final result outside the context of backticks.

Update December 4: Slack issued an update yesterday that allows you to turn off this new setting, and keep your markdown instead. As they wrote on Twitter:

To the users who preferred the text markdown from before, we heard you. 🙇‍♂️

Crisis averted.


  1. Or hit the “Send” button. The kind of person who would care about previewing before they send is also the kind of person who would have the Show send button option enabled. ↩︎
  2. Another example is TinyMCE, which is the worst editor ever to be conjured by mankind or any other featherless biped. ↩︎
  3. For instance, what happens when you paste into the Slack editor a string that contains markdown in it? In that scenario, Slack actually now asks you if you want to cast it to preview or not. You can choose not to, but if you later interact with that pasted text, the evaluator determines that it should cast it to preview, and changes it accordingly. ↩︎