Of all the giant blog posts I've written (brevity is not my strong suit), this one must have sent me the most traffic... Clearly there is a persistent unmet demand for Org Mode explanations / experience reports. Please write!
For non-Emacs users:
I've listed a bunch of alternatives that offer useful sub-sets of the Emacs version. On my Android phone, I use orgzly. I don't sync back and forth, preferring to hand-transcribe anything that is worth my while (I type fast enough on my computer). However it's good to know that my notes are just plain text, therefore always accessible.
Recent-most epic win of using org-mode:
Trivially exported the live demo version [1] of my talk [2] (org-babel) to a single web page [3] (reveal.js deck). It was a remote presentation, so it was great to be able to share the deck with the attendees.
Obsidian is a great app and probably the closest thing spiritually to org-mode for those who aren't interested in emacs, but Obsidian doesn't (currently) come close to the whole package.
Just as some examples: outline-centric without plugins (this allows functions like narrowing/hoisting to a particular part of the outline that you can't do in Obsidian), substantially better export/document authoring, org-babel (think Jupyter style notebooks or literate programming) integrated into the core concept, functionality integrated into the core system rather than siloed into plugins (org-agenda is essentially a combo of the dataview plugin and the todo plugin in Obsidian, but built to work together, and completely integrated with things like timekeeping/clocking for those who bill hourly, which is still missing from Obsidian). Plus some of the keyboard-centric stuff in org-mode is just really nice, down to little niceties like how you can manipulate dates and times without clicking around. Then there's all the benefits of emacs on top of that.
To some extent a lot of this derives from org's 22 year history. It's a very mature system, with loads of functionality.
One strength of Obsidian though is canvas mode. There aren't great emacs solutions like that at the moment.
Logseq might be worth a look. It supports org-mode files to a degree. There’s a lot of org functionality. You can just about edit the files in emacs directly.
I love org-mode with all my heart. I used it to run a consulting company for a decade and organize my entire life (reminder to mail my mom a birthday card? Recurring org task. Task breakdown and schedule for clients? Org.) I used it to keep all of my implementation and debugging notes. I’ve used it like Jupyter notebooks with inline code blocks. I’ve written tons of LaTeX math in it.
For what I use it for, Org has a ton of magic sauce that Obsidian doesn’t have for me. But Obsidian has one feature that, sadly, dominates all of that magic: ease of use on iDevices, including offline use.
I can sit and work on Obsidian documents on my iPad+keyboard on an airplane without Internet access. I can reference my documents and update my todo lists from my iPhone without needing to SSH somewhere. The sync service is super smooth and the (much smaller) set of features is enough for most of my daily use.
I miss org-mode very much though and if I were to change jobs and spend less time work-travelling I would probably switch back to it.
One of the biggest reasons that I was comfortable using Obsidian specifically is because the disk format is mostly just Markdown (mod the infinite canvas stuff, which is documented JSON). Being locally-stored Markdown instead of a proprietary format, I feel like there’s a reasonable pathway for me to reimport all of my notes back into Org-mode in the future if I decide to go that way (eg Pandoc)
I dabbled with Plain Org a while back when I was considering switching from iA Writer to Org. It can use iCloud to sync. Have you tried that, and if so, what was your experience like?
I’d really like to use Org but that same limitation kept me from it. If I could at least view Org docs on the run, and do minor editing to jot quick notes, I think I could make the leap.
Never tried it. What I have "just works" for me. Also I value having everything local-first in plaintext.
The ability to get on with life with the absence of global organisation is my saviour. While any given org file may be well structured, my org files directory is a disaster zone.
I just use rgrep and text search to get around. It's great!
"Growing support is easing collaboration via org files."
The same month this article was written (4/22) I tried to make the case for org as an interchange format for productivity tools [1] and pointed to most of the same tools supporting org. (Disclosure, my browser extension, BrainTool[2] is listed in the article). I still love the idea of a local-first, plain text model for sharing personal data across productivity apps, but three years on its not clear to me that the momentum has been maintained. Are folks still building new things on top of org?
Post author here... My dream: a grammar or specification for org text. So that someone can make a self-contained parser library (I'm not smart enough). So that others can embed it in all their tools, and so that someone can make an LSP for org text.
IMHO, the integration of org-mode into Emacs is a double-edged sword. Great for me, because I get batteries-included writing support. /However/ terrible for distribution. The source code of the canonical implementation is the specification. Unfortunately, it is hardwired to the Emacs binary. That fact alone makes org text verboten to most of the known universe. Even if that weren't true, the absence of a standard makes it incredibly difficult for outsiders to maintain feature-parity of their own implementations with the canon, and with each other.
Completely agree, on both counts. Users often ask me how they can edit their BrainTool.org file outside the extension. There's no way I can in good conscience point the average knowledge worker toward installing an emacs distro!
FWIW I use orgajs (https://github.com/orgapp/orgajs). Its well-supported and gives me a pretty complete AST. Highly recommend if you're working in JS.
You could specify what's vanilla default in the org packages.
For that example, there's a file-local way to specify custom TODO keywords[^0]. Maybe that can get into the standard, but I'd be Ok with with a primitive, vanilla specification for org-mode first as striving to support everything would ensure no projects form around an emacs-free org-mode anytime soon.
I have been using org-mode for nearly two decades. Org-mode itself has existed for 22 years (beating markdown by 1 year!). For something as important as an archival format, I wouldn't base my decisions on the vagaries of the latest trends.
I used org-mode for more than a decade and I still like it as a format a bit more than Markdown.
But the main problem with it is Emacs. I want to use org-mode, but I don't need the hassle that is installing a decently configured emacs in multiple environments and platforms.
Eventually I just gave up and went full markdown first with Joplin and currently with Obsidian.
Post author here. I agree with the sentiment... Emacs org-mode sticks with me because it grew on me over the years. It's awesome, but it's also a lifestyle :D
For your (very legitimate, "just gimme a distro") needs, perhaps Emacs Writing Studio could entice you back into the fold: https://lucidmanager.org/tags/emacs/
Because either apple is too stringent or the obsidian devs are too lazy, I see this this as a better alternative to not being able to sync your files on an ios device with your sync tool of choice. Right now the only two ways to sync your obsidian notebook on an iphone or ipad is to use icloud or obsidian's paid service. icloud falls short when your ipad is your only apple device, and I already have syncing across every other device with a different cloud service.
I've been interested in Org Mode before, but the thing that always kills it for me is a good synchronization solution. Does anyone have any tips?
I regularly access and update my notes on at least 5 different devices, and I often need to share notes with non-technical people, where the barrier of entry needs to be nothing more than a single link they can click. Currently, Google Docs serves that need, but it's not ideal for writing.
The ideal solution for me would support using a Git service as the backing store, but the churn of making commits to synchronize has to not get in the way.
Org-mobile exists[0], but I have yet to meet anyone actually using this protocol in the wild, and requires you to have your own server to mediate from, as well as emacs running on your phone.
An alternative is to use Git(hub) as the mediator, and here Orgzly is a decent Android app with Git support[1]. It just has a tendency of clobbering your git log with automatically generated commit messages. It has WebDav capabilities too, so you could use Nextcloud as the mediator instead.
There's also Syncthing, which is probably what everyone wants: all devices haves the same info, you commit to VC what you want when you want.
My personal workflow? Accept that my desktop is where I do the real planning, and that the mobile is just for quickly looking up stuff in my notes. If I have ideas, I can email them to myself and process them later when I'm back on my desktop. Is it perfect? Far from it. Does it work? yes.
I use org-mobile to sync w/ beorg[0] using iCloud sync. Between desktop and laptop I use git commits which works fine for me because I wan't the commit history anyway. I can imagine that git would cause unwanted friction if the goal was just syncing.
Post author here. I'm not sure there is any one sync solution. To share with others, org-export and/or `pandoc -f org -t html` may be your friends. Also Github renders a subset org-mode text. What it can render may be good enough for your needs.
Alternatively: how about something like this:
- Stick the org source files in a private <Syncthing, or Dropbox, or equivalent> folder, so you can privately sync across devices.
- Use a file watcher to auto-export selected files to a shared version of the folder so you can share rendered content with others, with permissions. pandoc is an option but it doesn't export all of org. I think it's not a crazy idea to use Emacs itself as your command-line exporter. If you want special org sauce in the export, maybe pass the command line invocation a dedicated init file for export-only use.
- Further, because you are familiar with git, it may be not-crazy to run a Github/Gitlab/daemonised "render" action, on push to a remote repo. Once again, using the Emacs binary as the full-blown exporter.
I just use git (manually committing) with GitLab, their web previews of org files are mostly good enough.
I also have another set of notes that I sync with my phone and laptop via Syncthing, but that stuff isn't really using the more interesting org features, just quick and dirty notes. For anything serious it's just git.
Tailscale, ssh and emacsclient in terminal mode makes it pretty easy to access and update notes from different machines without syncing by just say leaving your main laptop on and connected to the Internet and using emacs daemon. If you have sshd running on all the machines you can use tramp to move files around or use git or many other tools. The trickier part is using emacs key bindings on say android. Read only sharing with PDFs works fine. Co editing is impossible :).
If you're using org-mode and thinking about customizing it a bit more, and/or would like it to serve you in a way that is a bit more aligned with GTD, this reference from Bernt Hansen is without peer and just an incredible contribution: https://doc.norang.ca/org-mode.html
Oh hei, HN! Post author here.
Of all the giant blog posts I've written (brevity is not my strong suit), this one must have sent me the most traffic... Clearly there is a persistent unmet demand for Org Mode explanations / experience reports. Please write!
For non-Emacs users:
I've listed a bunch of alternatives that offer useful sub-sets of the Emacs version. On my Android phone, I use orgzly. I don't sync back and forth, preferring to hand-transcribe anything that is worth my while (I type fast enough on my computer). However it's good to know that my notes are just plain text, therefore always accessible.
Recent-most epic win of using org-mode:
Trivially exported the live demo version [1] of my talk [2] (org-babel) to a single web page [3] (reveal.js deck). It was a remote presentation, so it was great to be able to share the deck with the attendees.
[1] clojure-web-app-workshop-functional-conf-2025.org here: https://github.com/adityaathalye/slideware/ (see raw source for export directives)
[2] Talk video in this playlist: https://youtu.be/YEHVEId-utY (the playlist has video of the example I described in my blog post.)
[3] All blog posts are just tiny websites :) https://www.evalapply.org/posts/why-and-how-i-use-org-mode/d...
---
Edit: Discussed previously here: https://news.ycombinator.com/item?id=34967802 (164 points, 159 comments)
Have you tried Obsidian and can tell us if org-mode still holds some magic sauce from it?
Obsidian is a great app and probably the closest thing spiritually to org-mode for those who aren't interested in emacs, but Obsidian doesn't (currently) come close to the whole package.
Just as some examples: outline-centric without plugins (this allows functions like narrowing/hoisting to a particular part of the outline that you can't do in Obsidian), substantially better export/document authoring, org-babel (think Jupyter style notebooks or literate programming) integrated into the core concept, functionality integrated into the core system rather than siloed into plugins (org-agenda is essentially a combo of the dataview plugin and the todo plugin in Obsidian, but built to work together, and completely integrated with things like timekeeping/clocking for those who bill hourly, which is still missing from Obsidian). Plus some of the keyboard-centric stuff in org-mode is just really nice, down to little niceties like how you can manipulate dates and times without clicking around. Then there's all the benefits of emacs on top of that.
To some extent a lot of this derives from org's 22 year history. It's a very mature system, with loads of functionality.
One strength of Obsidian though is canvas mode. There aren't great emacs solutions like that at the moment.
Logseq might be worth a look. It supports org-mode files to a degree. There’s a lot of org functionality. You can just about edit the files in emacs directly.
Long time Org-moder, 1-year Obsidian user here.
I love org-mode with all my heart. I used it to run a consulting company for a decade and organize my entire life (reminder to mail my mom a birthday card? Recurring org task. Task breakdown and schedule for clients? Org.) I used it to keep all of my implementation and debugging notes. I’ve used it like Jupyter notebooks with inline code blocks. I’ve written tons of LaTeX math in it.
For what I use it for, Org has a ton of magic sauce that Obsidian doesn’t have for me. But Obsidian has one feature that, sadly, dominates all of that magic: ease of use on iDevices, including offline use.
I can sit and work on Obsidian documents on my iPad+keyboard on an airplane without Internet access. I can reference my documents and update my todo lists from my iPhone without needing to SSH somewhere. The sync service is super smooth and the (much smaller) set of features is enough for most of my daily use.
I miss org-mode very much though and if I were to change jobs and spend less time work-travelling I would probably switch back to it.
One of the biggest reasons that I was comfortable using Obsidian specifically is because the disk format is mostly just Markdown (mod the infinite canvas stuff, which is documented JSON). Being locally-stored Markdown instead of a proprietary format, I feel like there’s a reasonable pathway for me to reimport all of my notes back into Org-mode in the future if I decide to go that way (eg Pandoc)
I dabbled with Plain Org a while back when I was considering switching from iA Writer to Org. It can use iCloud to sync. Have you tried that, and if so, what was your experience like?
I’d really like to use Org but that same limitation kept me from it. If I could at least view Org docs on the run, and do minor editing to jot quick notes, I think I could make the leap.
Never tried it. What I have "just works" for me. Also I value having everything local-first in plaintext.
The ability to get on with life with the absence of global organisation is my saviour. While any given org file may be well structured, my org files directory is a disaster zone.
I just use rgrep and text search to get around. It's great!
"Growing support is easing collaboration via org files."
The same month this article was written (4/22) I tried to make the case for org as an interchange format for productivity tools [1] and pointed to most of the same tools supporting org. (Disclosure, my browser extension, BrainTool[2] is listed in the article). I still love the idea of a local-first, plain text model for sharing personal data across productivity apps, but three years on its not clear to me that the momentum has been maintained. Are folks still building new things on top of org?
[1] https://braintool.org/2022/04/29/Tools4Thought-should-use-Or...
[2] https://chromewebstore.google.com/detail/braintool-go-beyond...
Post author here... My dream: a grammar or specification for org text. So that someone can make a self-contained parser library (I'm not smart enough). So that others can embed it in all their tools, and so that someone can make an LSP for org text.
IMHO, the integration of org-mode into Emacs is a double-edged sword. Great for me, because I get batteries-included writing support. /However/ terrible for distribution. The source code of the canonical implementation is the specification. Unfortunately, it is hardwired to the Emacs binary. That fact alone makes org text verboten to most of the known universe. Even if that weren't true, the absence of a standard makes it incredibly difficult for outsiders to maintain feature-parity of their own implementations with the canon, and with each other.
Completely agree, on both counts. Users often ask me how they can edit their BrainTool.org file outside the extension. There's no way I can in good conscience point the average knowledge worker toward installing an emacs distro!
FWIW I use orgajs (https://github.com/orgapp/orgajs). Its well-supported and gives me a pretty complete AST. Highly recommend if you're working in JS.
> The source code of the canonical implementation is the specification.
https://orgmode.org/worg/org-syntax.html is the specification.
The problem is a lot of the semantics is dependent on one of a myriad of user's configs. As a simple example, TODO keywords, tag inheritance, etc.
You could specify what's vanilla default in the org packages.
For that example, there's a file-local way to specify custom TODO keywords[^0]. Maybe that can get into the standard, but I'd be Ok with with a primitive, vanilla specification for org-mode first as striving to support everything would ensure no projects form around an emacs-free org-mode anytime soon.
---
[^0]: https://orgmode.org/manual/Per_002dfile-keywords.html
> three years on
I have been using org-mode for nearly two decades. Org-mode itself has existed for 22 years (beating markdown by 1 year!). For something as important as an archival format, I wouldn't base my decisions on the vagaries of the latest trends.
I used org-mode for more than a decade and I still like it as a format a bit more than Markdown.
But the main problem with it is Emacs. I want to use org-mode, but I don't need the hassle that is installing a decently configured emacs in multiple environments and platforms.
Eventually I just gave up and went full markdown first with Joplin and currently with Obsidian.
Post author here. I agree with the sentiment... Emacs org-mode sticks with me because it grew on me over the years. It's awesome, but it's also a lifestyle :D
For your (very legitimate, "just gimme a distro") needs, perhaps Emacs Writing Studio could entice you back into the fold: https://lucidmanager.org/tags/emacs/
I wrote a command line tool called "orji" coz of this (still in alpha).
I wanted to use orgzly or a text editor and just be able to write templates (in jinja2) or bash scripts to push data in or out of my notes.
What about Obsidian app on Android asking for permission to access all files on the device?
This is why:
https://help.obsidian.md/android#Storage+permissions
Because either apple is too stringent or the obsidian devs are too lazy, I see this this as a better alternative to not being able to sync your files on an ios device with your sync tool of choice. Right now the only two ways to sync your obsidian notebook on an iphone or ipad is to use icloud or obsidian's paid service. icloud falls short when your ipad is your only apple device, and I already have syncing across every other device with a different cloud service.
I've been interested in Org Mode before, but the thing that always kills it for me is a good synchronization solution. Does anyone have any tips?
I regularly access and update my notes on at least 5 different devices, and I often need to share notes with non-technical people, where the barrier of entry needs to be nothing more than a single link they can click. Currently, Google Docs serves that need, but it's not ideal for writing.
The ideal solution for me would support using a Git service as the backing store, but the churn of making commits to synchronize has to not get in the way.
Org-mobile exists[0], but I have yet to meet anyone actually using this protocol in the wild, and requires you to have your own server to mediate from, as well as emacs running on your phone.
An alternative is to use Git(hub) as the mediator, and here Orgzly is a decent Android app with Git support[1]. It just has a tendency of clobbering your git log with automatically generated commit messages. It has WebDav capabilities too, so you could use Nextcloud as the mediator instead.
There's also Syncthing, which is probably what everyone wants: all devices haves the same info, you commit to VC what you want when you want.
My personal workflow? Accept that my desktop is where I do the real planning, and that the mobile is just for quickly looking up stuff in my notes. If I have ideas, I can email them to myself and process them later when I'm back on my desktop. Is it perfect? Far from it. Does it work? yes.
0: https://orgmode.org/manual/Org-Mobile.html
1: https://github.com/orgzly/orgzly-android/pull/1037
I use org-mobile to sync w/ beorg[0] using iCloud sync. Between desktop and laptop I use git commits which works fine for me because I wan't the commit history anyway. I can imagine that git would cause unwanted friction if the goal was just syncing.
[0] https://www.beorgapp.com
I just use syncthing, with https://f-droid.org/en/packages/com.github.catfriend1.syncth... on Android and the official packages on desktop. On Android, I've been using the organice build from https://github.com/200ok-ch/organice/issues/932# but have also installed https://orgro.org/ which is nicer for reading and simple edits. I've heard https://apps.apple.com/gb/app/synctrain/id6553985316?platfor... is nice for ios
Post author here. I'm not sure there is any one sync solution. To share with others, org-export and/or `pandoc -f org -t html` may be your friends. Also Github renders a subset org-mode text. What it can render may be good enough for your needs.
Alternatively: how about something like this:
- Stick the org source files in a private <Syncthing, or Dropbox, or equivalent> folder, so you can privately sync across devices.
- Use a file watcher to auto-export selected files to a shared version of the folder so you can share rendered content with others, with permissions. pandoc is an option but it doesn't export all of org. I think it's not a crazy idea to use Emacs itself as your command-line exporter. If you want special org sauce in the export, maybe pass the command line invocation a dedicated init file for export-only use.
- Further, because you are familiar with git, it may be not-crazy to run a Github/Gitlab/daemonised "render" action, on push to a remote repo. Once again, using the Emacs binary as the full-blown exporter.
I just use git (manually committing) with GitLab, their web previews of org files are mostly good enough.
I also have another set of notes that I sync with my phone and laptop via Syncthing, but that stuff isn't really using the more interesting org features, just quick and dirty notes. For anything serious it's just git.
Tailscale, ssh and emacsclient in terminal mode makes it pretty easy to access and update notes from different machines without syncing by just say leaving your main laptop on and connected to the Internet and using emacs daemon. If you have sshd running on all the machines you can use tramp to move files around or use git or many other tools. The trickier part is using emacs key bindings on say android. Read only sharing with PDFs works fine. Co editing is impossible :).
I run single script that does a commit, pull and merge without pulling open the editor. It takes a couple of seconds and works fine.
Sure, but that's not really a great/feasible/possible workflow on mobile.
syncthing for all my org files
If you're using org-mode and thinking about customizing it a bit more, and/or would like it to serve you in a way that is a bit more aligned with GTD, this reference from Bernt Hansen is without peer and just an incredible contribution: https://doc.norang.ca/org-mode.html