What's the difference between org tags and org-roam tags?

I am new to both tools, and can’t quite figure out how I should use both of those tags.
On the surface purpose of both seems to be very similar – group and categorize.

I am at the moment pretty much duplicating those fields most of the time. I want to be able to see some tags in org-agenda, and sometimes those tags are useful when searching for notes using org-roam tools.

I feel like I am missing something (or misusing one or both fields), wouldn’t just one field be sufficient?


org-roam tags are a heuristic device to help you find notes. When you use #+roam-tag:, the tag names will show in the list of notes so you can filter by tag.

Org Tags only work within each file and relate to headlines, not files.

1 Like

There were these discussions on the subject some time ago: Are tags a thing, really?, Support tags as first-class values, Add a tagging system. There was also a suggestion to use only Org-mode tags in Org Roam and an objection to it rationalising the use of a separate tag system, but I can’t find that discussion right now.

1 Like

As the previous posts said, it seems that there’s no single answer and people use them for very different purposes.

If you’re replicating tags from other fields, then you may look into the corresponding section in the Org-roam User Manual.

I currently simply define tags to be my org CATEGORY:

  (defun org-roam--extract-tags-category (_file)
    "Extract category from the current buffer's \"#category\" global property."
    (cdr (assoc "CATEGORY" (org-roam--collect-keywords '("CATEGORY")))))
  (setq org-roam-tag-sources '(prop category))

I use a handful very simple broad categories like Personal and Work.
Categories anyway show up in the agenda and I have a simple way of filtering my notes.