62

I use Emacs for years, and nowadays, I write a lot of files in org mode, such as notes, plans/conclusions or something else. However but most website support markdown-style instead of org-style. StackOverflow is an example. :)

Can someone tell me the exact difference between these two? Pros and cons? And which did you choose and why?

radrow
  • 6,419
  • 4
  • 26
  • 53
chao787
  • 1,760
  • 3
  • 18
  • 20
  • 7
    Note that [you can use markdown-mode in Org-mode](http://stackoverflow.com/a/10386560/789593). – N.N. May 01 '12 at 09:09
  • @N.N. Nice post, Thank you so much. Org mode is really a hole for us to grasp it well. :) – chao787 Jun 29 '12 at 22:51
  • 1
    This sounds really obvious but I'm not sure it has been mentioned. Have you looked at `org-md-export-to-markdown`? – ealfonso Sep 14 '17 at 05:44

5 Answers5

47

I think markdown and org derive from the different demands, while they coincidently have the similar markup syntax to edit plain text documents.

Markdown is only designed to easily read/write plain text. Refer to its philosophy:

Markdown is intended to be as easy-to-read and easy-to-write as is feasible.

However, org is more complicated and it also has more features. You can use org for GTD, maintaining TODO lists, project plans etc. And the markup syntax seems just one accessory in the whole org system.

In my options, if only write some plain documents, you can choose anyone as you wish. However, if GTD or intend to export your plain documents for more formats (tex/pdf/docbook), you have to choose org.

Thomas
  • 17,016
  • 4
  • 46
  • 70
Julian Qian
  • 696
  • 5
  • 8
  • 3
    Fully agree. If, like me, you are a die-hard org-mode user who is gravitating towards Markdown for some use cases (e.g. sharing a project with non-Emacsers on GitHub), you might find it interesting to know that things like (global-set-key [(control c) (.)] 'org-time-stamp) happen to work! – DomQ Feb 08 '15 at 21:49
  • 4
    pandoc markdown also allows export to multiple formats (http://pandoc.org/MANUAL.html). – Blaisorblade Sep 17 '17 at 10:49
  • @Blaisorblade - Pandoc also allows to export from org-mode to Markdown, just in case you are forced to use the second format. – Pietro Feb 15 '22 at 15:37
34

I started out with markdown, but switched to org-mode after a few years of using markdown.

I think that Markdown is more readable than org-mode - especially if you don’t use Emacs. You have the special headings with underline while org-mode uses a line starting with #+title: as title and *, **, … for chapter/section/… headings. Also markdown links are [text](link) instead of [[link][text]] and footnotes are [^footnote] instead of [fn:footnote].

On the other hand, org-mode can do about everything you might want to do with a plain-text list - from planning your work and scheduling your writing time to including code-fragments which actually can get executed on export, so an exported document always contains the output of the latest version of the code automatically.

I switched to org-mode after starting to use it just for todo lists. Then I realized that I could also write nicely in it. And that the link syntax might be more complex than markdown, but C-c C-l generates it for me. And that exporting just works.

If you use emacs, I would definitely suggest org-mode.

I even write for my markdown-based website with org-mode, using the markdown-export, which for example adds support for convenient creation and editing of beautiful tables.

Arne Babenhauserheide
  • 2,423
  • 29
  • 23
  • 1
    I'm not very familiar with markdown (which is why I'm reading this), but I find org-mode on emacs a great way to quickly build short data-tables and TODO lists. It's ability to export (and embed) to other formats (including markdown, but also more powerful formats like (La)TeX) is also great. My feeling is that you're comparing a good lawn-mower (markdown) with a whole shed of excellent tools (org-mode). – Oskar Limka Jan 29 '18 at 15:05
  • Well, there is something going for tools which are tailored to one requirement -- they can be a somewhat better fit for that requirement than any tool which also has to support something else -- but org mode is such a huge win in everything else, and that with so little additional overhead and without any esoteric-feeling syntax, that I have strong preference for org-mode nowadays. – Arne Babenhauserheide Jan 30 '18 at 23:34
  • If you want to write a static website based on org-mode markdown you can use plugins to enable the use of org-mode markdown directly. For example pelican and jeckl have plugins. – Thaodan Nov 21 '19 at 10:24
19

I love org-mode. But I do sometimes wonder if the definition of 'plain text' is stretched a little far? Particularly when you look at org files outside of emacs. You could say HTML is plain-text too...? Okay org's not so bad as that, but it's pretty illegible without CSH and folding. Markdown certainly is just as readable without CSH as it is with.

Other than that though, I prefer org-mode, and the ability to export from org to Markdown (or HTML, or PDF or ...) means that it's pretty well able to be consumed (read-only) all over the Web now, not just by Emacs people.

I prefer also org-mode's link style [[url][text]] as it mirrors HTML's <a href=url>text</a>; moin-moin's [[url|text]], and MediaWiki's [url text], whereas Markdown's syntax [text](url) is the wrong way around to my mind -- and I always end up getting this wrong when I use it! I suppose it's because in reStructured Text a link is written this way around too: `text <url>_` (and surrounded with backquotes, which are hard to do in Markdown code blocks, I am learning -- thanks for the Edit @Demi !)

mike
  • 1,854
  • 17
  • 23
  • 3
    I prefer the makdown style of URLs, because it lends itself to writing the text and filling the URLs later. But I use org-mode, because the tool support in Emacs is much, much better and it provides lots of additional features I use and need. – Arne Babenhauserheide May 15 '16 at 19:12
  • 1
    I consider readability of org-files outside emacs as much better than HTML. Not quite as good as Markdown or similar syntax built on how we write email, but still leagues away from HTML. Compare `* Headline` to `

    Headline

    ` or `#+title: I AM` to `I AM`
    – Arne Babenhauserheide May 15 '16 at 19:16
  • 1
    @ArneBabenhauserheide these are both good points. I can see the argument for Python/reST style links, I just don't like them ;-) Similarly for the readability: I was being flippant. Mind you, once you see some of the more esoteric stuff in Org (tables and #+START tags come to mind), one starts to wonder. – mike May 28 '16 at 04:43
  • 1
    the tables are really cool. They alone recently got a friend of mine to switch to org-mode, without being an emacs user before :) I use org-mode as build-tool there, though. I created a collaboration setup for that in https://bitbucket.org/ArneBab/1w6/src/8880529f8098e9c61ac3c40fbb41025f50e56dac/Hauptdokument/ews30/ – Arne Babenhauserheide Jun 01 '16 at 10:57
  • 1
    there is really deep stuff in org — my PhD thesis had lots of #+latex_header: … stuff in it, and you can actually use `#+begin_kasten` to start a html environment `
    ...`
    – Arne Babenhauserheide Jun 01 '16 at 10:59
  • 2
    The thing with org-mode is that the user has lots of choice (and control) on how things look. One could complicate it and make it as readable (or worse than) HTML, but you can keep it "markdown" like. – Oskar Limka Jan 29 '18 at 15:08
  • 1
    What does CSH mean? – arvidj Dec 11 '21 at 12:40
  • Ah, sorry, yes that is a good question :-) It stands for Colour Syntax Highlighting – mike Dec 12 '21 at 19:34
14

I don't know much about markdown, but org-mode can really do a lot of things. You can write your report and export it to latex, you can write presentation using the beamer class. You can do literate programming with org-babel, you can use the agenda, use tags, manage tasks, ...

This video is a nice example of what you can do with org-mode.

Daimrod
  • 4,902
  • 23
  • 25
  • 5
    Nice video. But Org-mode is a little bit complex, and, I like that. :) As a C++ programmer, org-mode is an obvious answer for this question. – chao787 Apr 08 '12 at 09:03
  • Howard Abrams has two excellent YouTube videos that show off Emacs and Org. The most relevant to this question is https://www.youtube.com/watch?v=dljNabciEGg which is using the Org Babel infrastructure to do Literate Programming, applied to DevOps – mike May 28 '16 at 04:52
8

Just adding an opinion that hasn't been mentioned: almost all of the benefits people have mentioned regarding org-mode have more to do with emacs than org-mode. All of the powerful features mentioned really have nothing to do org-mode as a plain text file format. You could build a program around markdown that gives you all the benefits you get with emacs + org-mode; there just isn't one.

The actual differences between the file format of org-mode and markdown are somewhat superficial (for example, the table format is almost identical between the two); there's clearly a big degree of experience + personal preference driving the discussion. But to the emacs+org-mode people: sell us on your tool, not the format (and don't conflate the two). If I can't get the benefits of org-mode without giving up the text-editing software I already enjoy using, then it's hardly useful to me in this discussion.

See here for an interesting discussion on this.

Matt
  • 460
  • 6
  • 9
  • 1
    I completely agree with your comment, and you hit the spot regarding "degree of experience personal preference". Since I use Emacs/org-mode, but also other IDE/editors like IntelliJ and VScode, and from time to time I hate Emacs... I wonder which text-editor do you use. Regards! – nephewtom Nov 10 '22 at 09:23
  • @nephewtom thanks! I primarily use sublime text. do you find that the more powerful IDEs you mentioned (IntelliJ, VScode) are worth it for the extra features? – Matt Nov 10 '22 at 13:49
  • 1
    Well, I use IntelliJ for Java/SpringBoot stuff, which otherwise would be a pain. IntelliJ is currently a must if you work on that land. My main use of VScode is for C/C++ under Windows for small projects, which is fine. I have also used VisualStudio, but I am not that used to its shortcuts, and probably Visual C++ 6.0 was better than current one..., unless you would need to do .NET stuff. – nephewtom Nov 10 '22 at 19:25