Quickly Organize Notes in Obsidian

There’s a popular concept in the Obsidian community called MOCs, or Maps of Content.

What is a MOC? Pioneered by Nick Milo, MOCs are notes that primarily link to other notes, giving you an index, or a small Table of Contents that you can create for any particular topic. MOCs are one of the best ways to quickly organize notes in Obsidian.

MOCs were revolutionary for me the first time I encountered the idea. It became a master key for me, a single idea that opened up all of the doors and allowed my notes room to grow and flourish.

Why are MOCs so life-changing?

I’ve always struggled to organize my notes. Every note-taking application has its methods for organization, but none ever clicked with me.

Folders are too rigid, tags too flexible. Time and time again I created a basic structure within a new app, but eventually, I would outgrow it, and start to lose notes. I was never able to maintain more than 500 notes or so before I would abandon the project.

Evernote, Drafts, Notion, Apple Notes, Notepad++: no matter the app, I always had this same fundamental problem.

Obsidian Changed That

My current Obsidian vault has 4,500+ notes in it.

Does it feel like a chaotic mess? No. Surprisingly (to me), the more notes I create, the more organized it feels.

How is that possible? It’s all thanks to linked notes and MOCs.

The Simplest Way to Build a Map of Content

Note: This tip requires the use of a community plugin called Dataview. See how to use community plugins here.

I’ve created dozens of MOCs in my vault, and I’ve learned a lot. One of my favorite ways to build a MOC is by using this single-line Dataview query:

list from [[]] and !outgoing([[]])

This small line of code is the best way to quickly organize notes in Obsidian. Feel free to copy/paste into your own vault.

Here’s how it works. Say you want to start organizing your notes on Icelandic Ice Fishing. You can create a MOC for that, and add the above query:

An example Ice Fishing MOC

If you have Dataview installed, you should see this when you click out of that code block:

Dataview showing ‘no results found’.

Now it’s time to add some content. Maybe you already have some related notes, or maybe not. Regardless, next time you find or add a note related to Icelandic Ice Fishing, simply add a link to the MOC. I like to add it to the top of the note, but you can add it anywhere.

A note about Brown Trout, with a link to the MOC.
A guide to fishing in Iceland, with a link to the MOC.

Next time you open up your Icelandic Ice Fishing MOC, Dataview will gather all of the linked notes and display them for you.

The Icelandic Ice Fishing MOC with the newly created notes showing up.

Now that may be enough for you, you can call it a day there. But there’s another step that makes your MOCs even more useful.

Refining your MOC

I like to use this query as an inbox, letting me know about new content that I need to sort out further. Once a note appears in my “inbox”, I like to add supporting content to further clarify the purpose of each note. Even better, using the above query, when you manually add a link to your MOC, Dataview will automatically remove it from your inbox.

I usually start by adding headers, and I’ll add even more explanation in paragraphs if necessary. That might look like this:

A finalized MOC with headers for each subtopic.

And that is the easiest way to quickly organize notes in Obsidian.

Learn more about MOCs here: Maps of Content: Effortless organization for notes

17 responses to “Quickly Organize Notes in Obsidian”

  1. Awesome tip! This will make a huge difference to how I organize my vault 🙂

  2. Excellent use of Dataview. I have a question for you – I end up putting MOCs on blocks within text, which can be linked to via the ^ for transclusion. Do you know if a query like yours can return the block within a linked document where the MOC is referenced?

    I’ve been trying to get that, but no luck so far

    1. Hi Nitin. I’m not sure I understand what you’re trying to do here: I would recommend asking on the help form (https://forum.obsidian.md/c/get-help/) and including a few more details.

  3. Hi. Do you store your MOC notes in permanent folder or in a separate MOCs folder?

    1. I store them in my permanent folder with all of my other permanent notes. I do give each MOC a tag, #MOC, which allows me to look at them all if I need to (using search or Dataview), but I rarely use it.

      I honestly rarely think about file structure, because I so rarely use the file picker. I’m almost always navigating my notes via links, not via folders, so I try to keep my folders as simple as possible.

  4. Any way of sorting the linked notes in MOCs so the oldest added is on top and the newest on bottom?

    1. Yep! If you are using Dataview. You can add a SORT to any query. You can sort based on creation date by adding this:

      SORT file.ctime DESC

      You can learn about a bunch of different ways to tweak your queries like this in our introduction to Dataview.

  5. what effect provokes the esclamation mark before outgoing function?

    1. That means “not”. So !outgoing([[]]) in effect means “do NOT include links that already exist in this file”. If you remove that, then Dataview will list all links that link to your file, whether they already exist or not.

      It’s a little bit obscure, which is why I wrote this article. Hope that helps!

  6. I am an absolute beginner, and I could understand using dataview to generate the content of a moc but I really don’t get what you are trying to explain with ‘Refining your MOC’? What do you do when you say ‘I like to use this query as an inbox’ and ‘using the above query, when you manually add a link to your MOC’? Could you explain it step by step?

    1. Hi Bart! Sure. The issue with the above Dataview query is that it’s not organized. It creates an unordered list of notes that link to that MOC. It’s handy for finding lost notes, but I find it isn’t helpful once the list becomes longer than 6 or so items.

      So when I open an MOC that has more than 6 “unorganized” notes, I try to sort them into more logical groupings. The nice thing about the above query is that it automatically updates, so any link you add to the MOC will automatically be removed from the Dataview list.

      So my process goes something like this:
      – Add new notes to my vault, link to relevant MOCs
      – When referencing an MOC, check the “unsorted” links
      – If there are more than ~6 unsorted links, create supporting content, such as headers and logical groupings of similar ideas

      1. Does this mean that in order to subdivide the list by categories, you have to link to the header for that section within the MOC document rather than just the MOC document itself?
        So, when you decide to put those six notes under a new heading, you edit the link on all of the manually, correct?

        Love this query. It is helping me make the transition from just folders to…something else.

        1. Correct: the goal of this query is to make it easy for you to create MOCs. The query creates a self-updating “inbox”, which allows you to see unsorted files and sort them into relevant sections of your note. The goal is ultimately to sort the files, the query just makes that easier 🙂

          1. Thanks for the quick reply. I think in stepping away from folders, it takes an extra night of sleep of moment of realization to see that a query like this is what you said, rather than a way to automatically display your folder directory, which is the initial instinct, haha.

          2. Ha, that’s a good point! I struggled to abandon folder structure at first too. I’m glad you reminded me of that hurdle.

  7. Hi Tim thanks so much for this! I was wondering say you wanted to have 2 notes which are composed of notes from 2 different books. Each of these books has similar themes and you wanted to basically create a document that combined relevant notes (with say something like a hashtag) is that possible under this system. Like I want to keep all the notes from a single book together but would want to try and create a third document based on the themes across each book.

    So I think about it we have:
    Note A for Book A
    Note B for Book B

    Within Note A:
    Note A1 with #Theme1 (basically this is just a random blurb or highlighted section of the book with a # based on the topic)
    Note A2 with #Theme2

    Within Note B
    Note B1 with #Theme1
    Note B2 with #Theme2

    What type of Querry or system could create

    Note C based on #Theme1
    Note A1
    Note B1

Leave a Reply

Your email address will not be published. Required fields are marked *