Filters for note body, not just backlinks

In Roam one can add persistent filters to the blocks in the main note body, not just the backlinks. I would very much like to have this in Logseq as well. For instance, if I mark a number of blocks #ignore I would like to be able to hide them with a filter.

Today I encountered another reason to want to filter out items in the note body. I am working with a long list of tasks and would like to hide everything marked DONE - while remaining on the same page.


This feature would be great! On the one hand, it seems that Logseq’s underlying architecture allows for very powerful filtering capabilities (currently accessible via queries), perhaps even more powerful than Roam; however, on the other hand, query results are not currently directly editable in Logseq, whereas they are directly editable in Roam. If Logseq query results could become editable (which perhaps I should make into a feature request), then it seems to me that it should be straightforward to then create a way to do within-page filters, as per this request. (I am not sure if there is a currently a query-accessible block attribute that denotes the block’s original page, but that would be one way of setting the scope of a query to a specific page.)


As Roam Research does. I want to filter blocks based on tags.

This is very useful for task management.
For example, only look on tasks with high priority tags or issue types.

1 Like

Consider voting for / commenting on this issue: Filters for note body, not just backlinks

Can a moderator merge these two requests?

Just merged to this topic.


Honestly, sort of painful (with day to day note taking) not having this feature! :frowning:


Adding my vote for this!


This is the last thing that keeps me from switching from Roam.

1 Like

Thinking of coming from Roam also and really would miss this feature.


In my scenario, I use logseq as both knowledge garden and GTD system. So I have 2 big system in one graph. So I have notes only related to ME(Plans/Visions/Self-Awareness), and knowledge that can shared to public. So half of the time I need to split them in the big graph and referenced links.

The key thing is, in logseq page and tag are treat as the same thing. So if we want to really “tag” some blocks for later filtering (like category or Resource Sources) but not want a link (their group is so big and the graph or links of it is not so valuable, and they will messy my graph), the only way is using property(as prefix or body filtering is also not supported).
So I suppose the problems is we lack a way of category without links, maybe a better mindset is to treat page property as the first class member of logseq as tags and pages, and give enough freedom and power to page property.

Specific to my problem, if logseq have a filter in graph and referenced links that can filter with page/block property (like not show page with [relation:: ME]), then I can get a clean graph.

This feature is very necessary

Dynalist has a in-page search feature which is very useful. You type an arbitrary string, and the entire page gets filtered by that string: every bullet containing that string and its ancestors get shown, and all else gets filtered out.

It works beautifully on dynalist, very responsive, simple, and very intuitive. As you type a substring, the page gets filtered live. Such a feature would be fantastic.

This might be what is being asked here, or slightly different: the filters for linked issues is not an arbitrary-string filter, but a link/keyword/tag on-off filter. What I’m asking for above is an arbitrary string in-page search filter.

Yes, that sounds nice, but as you noted is a separate request. I suggest opening up another feature request just for this, so that the two can be tracked separately.

1 Like

@Luhmann, thanks for clarifying. Sounds good, I opened a request here.

1 Like

This sounds like a simple enough feature to be implemented via a plugin. How’d the ideal implementation look to you?

I’m thinking, toolbar button, that on click hides based on a specific tag and you can customize this tag in plugin settings.

Thanks. But this is not about filtering based on “a specific tag” but based on any tag, as you can currently do in the Backlinks. The Logseq backlink filter is not ideal however, because if you have many tags it does not currently let you do a search, like you can do in Roam. I personally like the way it works in Dynalist where you can click on the tags in context. (Though it would need to be a command-click or something like that to avoid going to the target page for that tag.)

1 Like

Hmm, could you record a screen recording perhaps?

Do you mean something like this would be ideal?

  1. Click toolbar
  2. Brings up UI
  3. UI will list every tag that is linked to on the page
  4. If you click the tag, it will turn gray or something
  5. There will be a button for apply filter
  6. Click the button to filter out blocks that link to the “grayed” tag(s)


I’m not sure why a video is necessary? Have you experimented with the backlinks filter built into Logseq already? You can click to filter out everything but that filter, or shift-click to hide everything with that filter, and you can do this to multiple tags at the same time. The only difference is that this would work on the page itself instead of the backlinks section. And the missing feature that Roam has which Logseq does not is the ability to search when you have many links.

1 Like