Why does the Stack Exchange network of sites use Markdown instead of some other rich text editor like FCKEditor or TinyMCE?

  • +1 on the DW vs NP++. I can't cope with editors that are Smarter Then Thou Commented Nov 3, 2009 at 8:07
  • This may pertain to a programming problem as well.
    – Crimson
    Commented Nov 3, 2009 at 8:07
  • Jeff talks exactly about this question in one of his blog posts.
    – Vilx-
    Commented Nov 3, 2009 at 8:45
  • 10
    While it isn't a rich-text editor, I consider it a rich text-editor. Commented Nov 3, 2009 at 16:22
  • Why was this question migrated? It fit the context of Stackoverflow much better...The question was asking about rich-text editors.
    – monksy
    Commented Nov 5, 2009 at 5:02
  • 2
    @steven: Because the question was worded to be directly about Stack Overflow trilogy. If it was worded "Why should a site use Markdown instead..." it would have fit stackoverflow.com better. And that is not just cosmetics - such a question would have very different answers since the choice of editor depends on the characteristics of the site. Commented Dec 1, 2009 at 12:59
  • There is a newer development (my emphasis): Opt-in alpha test for a new Stacks editor - "We are testing our new open source Stacks editor that offers both Markdown and rich text input options. ... whether we could bring to our public sites the Stacks rich text post editor that launched on Stack Overflow for Teams (or Teams) " Commented Nov 10, 2021 at 13:34

9 Answers 9


WYSIWYG RTE editors are generally bad at structuring the underlying data, making it very difficult to analyze/restructure the contents.

Consider this, how often have you seen a Word-user mark a line of text, make it bold, increase font size, and change the font. The experienced user would of course set the style (or what it's called in word) to Heading 1, and modify that style instead.

Why would you do this? Well, try to have word generate a ToC for a document where you changed all the 'headings' manually. Or if you'd like to submit your article for print, where there are other rules (fonts etc). Word actually does make this easier (you can select all instances of a certain combination of attributes), but you'll never be sure you got all of them, or if you managed to snag more than just your headers.

This might be irrelevant for small question/answer entries, but if you'd like to index the entire database, all the answers of all the questions, you'll have quite a substantial data set.

The bottom line is, markup usually conveys structure. WYSIWYG RTE editors usually conveys optical style. The first can pretty easily be turned into the latter, the other way around however, is very difficult. Use structural markup where you can, sooner or later you'll be happy that you did.

For the individual small entries / user experience, I'd go for the other answers (browser problems, source code, etc).


There are many reasons for this:

  1. Take up resources
  2. Can be prone to cross browser issues
  3. A source of errors in javascript (goes with browser issues)
  4. It is quicker for users who are accustom to it to format the text
  5. Also, this site claims to be wiki like/based... so I guess this is just a similarity they are trying to reinforce.
  • 2
    Of these reasons only #4 is arguably valid.
    – Evgeny
    Commented Jun 21, 2012 at 9:35

6. ... and RTEs suck at entering source code. Since that would be not optimal for a page like SO I am really happy they don't try to apply one.

(I'm starting at '6' because I fully agree with Monksy's answer and just wanted to add another important point).

  • 1
    What's the "5." for? Is it a quote? From FAQ maybe? Commented Nov 3, 2009 at 8:08
  • the answer below had only 1-4 (it's been edited since)
    – roe
    Commented Nov 3, 2009 at 8:16
  • 1
    Sorry, I let answers be displayed oldest first, so for me it seemed logically. It's refering to steven's answer.
    – Boldewyn
    Commented Nov 3, 2009 at 8:37
  • This is the only decent reason, but I don't think the problem of "sucking at entering source code" is fixable, someone just needs to put some work into that.
    – Evgeny
    Commented Jun 21, 2012 at 6:47
  • I would add that it would be difficult to deal with copy/pasted content, as it would be necessary to modify html after pasting to match the desired style.
    – Evgeny
    Commented Jun 21, 2012 at 9:38

To expand somewhat on the user-friendliness and speed:

In any rich-text editior I know, to for example italicise a word, I would have to first write it, then mark it and then either click a button or use some keyboard shortcut for italics. Either way, this takes longer than just writing *word*. Should I use the mouse it also requires more attention: I have to switch my method of input, I have to actually look at the screen, etc. Similar problems apply to many if not all other formatting options.

Another advantage of markdown is that I can easily write a post off-line.

Finally, given what formatting disasters are already caused by new users with markdown, I do not want to know what will happen if they are given a WYSIWYG editor.


I am a programmer, and I know HTML and CSS inside-out, so I am not shy of such things. In the early web days, I even invented a way of automatically marking up text to make it break, wrap, and indent as people usually expect. But I absolutely despise markup languages and wiki notation and this "Markdown" notation as a proliferation of lazy programmer bias.

All the reasons given by others here for not supporting WYSIWYG editing are merely excuses and rationalizations, in my opinion, for not doing the work to make it work. Yes, it requires some work to support WYSIWYG, but it has pretty much been done for you already by others.

People who are happy with Markdown will tend to be happier with Stack Overflow as it is, and will stick around longer. People who are not so inclined will tend to leave. This is similar to the Lisp community who are just fine with lots of insanely silly parentheses, and can't understand why they should consider changing.

Why not add the option of switching the editor to WYSIWYG mode? Have its feature set be limited to doing nothing more or less than what Markdown can already do, and then there should be no conversion problems.

  • 1
    This is a breath of fresh air.
    – a coder
    Commented Oct 11, 2012 at 13:30

Because WYSIWYG doesn't really work. See my blog for an example.

  • 2
    +1 for the nice blog post. I don't buy the argument stated as such an absolute, though. WYSIWYG, as a concept, could work. Just, the current implementations don't. One way to fix this would be universal conventions. Another would be subtle hinting. But yes, it's a difficult problem, and WYSIWYM may be a more powerful approach. Commented Dec 1, 2009 at 13:08
  • Agreed. The main problem is still raw CPU power and code complexity. While the raw power is okay these days, it's still too complex to write the code to do subtle hinting. I mean we have enough RAM today to save the bounding box of every rendered character on the screen (how many can there be? At most 288000 8px "i"s on a 30" screen - that's a mere 4MB) but I can hear developers here gasping at these numbers. And the code would need to interact with the renderer that is optimized for speed and not for being able to be extended. Commented Dec 7, 2009 at 14:06
  • @IlariKajaste what is "subtle hinting"?
    – Evgeny
    Commented Jun 21, 2012 at 6:52
  • @Evgeny: "subtle hinting" is, for example, changing the cursor or the status bar to tell you in which state the current text/cursor is (so you know in advance what will happen if you'd add a new character). Commented Jun 21, 2012 at 13:32

Because I use lots of different websites, and I have no interest in learning different editors for different sites. If the editor gets in the way of my sitting down and typing, which includes code snippets and links, I won't contribute. The toolbar on top of the box I'm typing into is about the most I'm willing to learn to start with.


Because it would be a complete nightmare for keeping the site's content clean and readable, even with a magical "strip all formatting" button.

[curls up in fetal position]


Rich text editors might be suitable for average Joes, but it's annoying for programmers.

RTEs are wizards, you can't trust the code they generate.

Plain text makes it a lot easier to reorganize content, and move it somewhere else. RTEs are a big source of headaches when doing that; they just stand in the way.

Markdown is more semantic: you shouldn't care about what exactly some block looks like with regards to font, size, color, etc; markdown will take care of the representation for you.

  • It could have a option to turn off, like Wikipedia
    – Matt
    Commented Jul 25, 2018 at 19:53

You must log in to answer this question.