filters in todoist

The ultimate guide to Todoist filters

Here you will find everything worth knowing about Todoist filters. Filters are a great tool, both when you need an overview and when you need to be laser focused.

Note: I recommend to bookmark this post so that you can easily find it when you are adding or editing your filters in Todoist. 

This post will be a work in progress for some time. I will add more information as Todoist expands the filter functionality. I will also keep adding smart ideas for filters. Want me to include your favorite filter? Use the comments section.

Filters is a premium feature in Todoist. If you haven’t yet got yourself a Premium account, now is the time.


How to set up a filter in Todoist
Elements in filters
Dates in filters

Assigned tasks and shared projects
Basic operators
Nested filters
Combining filters in Todoist
Changing the order of the results
Arranging your filters
Set your favorite filter as start page
Examples of filters in Todoist


How to set up a filter in Todoist

Todoist filtersAndroid / iOS: In the navigation menu, tap Filters and then Manage filters. You will then find the Add filter option.

You can change the color of the filter symbol by clicking on it.

Name: This is where you type the name of your filter.
Query: This is where you type in the query giving you the filtered result.


Elements in Todoist filters

For Todoist filters, use the same symbols as when typing in the Add task text box.

# = Project

@ = Label (context in GTD)

p = Priority (note that this is case-sensitive)


Filtering on projects

Query Shows
#Roadshow All tasks in the project “Roadshow.”
 ##Roadshow All tasks in the project “Roadshow” and its sub-projects


Filtering on Labels (Contexts)

Query Shows
@office All tasks in with label “office.”
no labels All tasks without labels


Filtering on Priority

Query Shows
p1 All tasks in with priority level 1
p2 All tasks in with priority level 2
p3 All tasks in with priority level 3
p4 All tasks in with priority level 4 (no priority)
no priority Same as above


Dates in Todoist filters

Date formats

  • Given date: 15.01.2017
  • Given date US format: 01/15/2017, Jan 15th
  • Given date and time: 15.01.2017 16:00
  • Given date and time US format: 01/15/2017 4 pm, Jan 15th 4 pm
  • Relative date: yesterday, today, tomorrow
  • Due Date: 2 days (due in the next two days), -2 days, (due in the past two days)
  • Days of the week: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday


Creation dates

  • created:
  • created before:
  • created after:


Due dates

  • due:
  • due before:
  • due after:
  • next X days
  • overdue
  • recurring
  • no date


Filtering on Creation dates

Query Shows
created: today All tasks created today
created before: -365 All tasks created more than 365 days ago
created after: 01/15/2017 All tasks created after Jan 15th, 2017


Filtering on Due dates

Query Shows
due today All tasks due today
due before: Jan 15 All tasks due before January 15
due after: 01/15/2017 All tasks due after Jan 15th, 2017
due in 2 day All tasks due in two days
next 10 days All tasks due in the next ten days
overdue All tasks that are overdue
recurring All tasks with recurring due date
no date All tasks without a due date
!no date All tasks with a due date


Assigned tasks and shared projects in Todoist filters

Filters are a good way of keeping track of assigned (delegated) tasks. You can see tasks assigned to a specific person or yourself. You can also see all assigned or not assigned tasks.

Assigned tasks

  • assigned to:
  • assigned by:
  • assigned



  • The person’s name
  • The person’s email address
  • me
  • others


Shared projects

  • shared
Todoist templates
Todoist templates is a great way to focus on what is important. (Picture: Stocksnap)



Basic operators for Todoist filters

To combine elements in Todoist filters, you can use operators. There are three basic operators:

& = AND

| = OR

! = NOT


Nested filters in Todoist

You can use nesting when you create a filter in Todoist. Nesting enables you to perform more advanced filtering.

Query Shows
(today | overdue) & #Work All tasks due today or overdue in the project “Work.”


Combining filters in Todoist

Run multiple filters at the same time:

Todoist filters also let you combine searches to create multiple task lists at once. To combine 2 or more searches into one filter, separate each with a comma: “,”.

For example, will show two task lists, one for the query p1 & overdue and another for p4 & today.

Query Shows
p1 & overdue, p4 & today Show two lists, one for the query p1 & overdue and another for p4 & today


Changing the order of the results

Using the same example as above, we see that the first line displays Today before Overdue. The second line displays Overdue before Today.

Query Shows
(today | overdue) & #Work All tasks due today or overdue in the project “Work.”
(overdue | today) & #Work All tasks that are overdue or due today in the project “Work.”


Arranging filters in Todoist

A good practice is to use the same colors for your filters as you do for your projects in Todoist. This makes it easy to recognize what you are looking at. You can drag & drop filters in the same way as with Projects and Labels.

Unfortunately, the Todoist people has not been consequent in using the same color scheme for filters as for projects, so you need to pick the closest colors.


Did you know that you can bookmark your filters, making them instantly accessible?


Set your favorite filter as your start page in Todoist

By default, Todoist starts in the Today view. To set your favorite filter as your start page in Todoist, go to Settings – Preferences – General – Start page. Select Custom query, click edit and copy/paste the query from the desired filter.


Examples of Todoist filters

If you have to follow-up a team working on a shared project using assigned tasks, these filters can be useful.

Query Shows
overdue & assigned to: others All overdue tasks assigned to others
shared & !assigned All tasks from shared projects that are not assigned to anyone


Use a filter to focus on work-related stuff when you should be working

Query Shows
(overdue | today) & ##work All overdue tasks and tasks due today in project “work” and all subprojects
(overdue | today) & @work All overdue tasks and tasks due today in the “work” context


Use Todoist filters for your GTD Weekly review

[stextbox id=”custom” bgcolor=”E8E8E8″ bgcolorto=”FFFFFF” image=”null”] Want to learn more about GTD or weekly review? Read GTD Weekly Review – Your most important task of the week. [/stextbox]

I use the below filters for my weekly review. The first gives me an overview of what I’m facing in the weekend and next week. (Note that I do my weekly review on Fridays, that’s why I use 9 days in the filter.) The second filter gives me an overview of the old task. In both cases, I have removed tasks with recurring due dates as these would clutter

Query Shows
due: 9 days & !recurring All tasks due in the next nine days that are not recurring
created before: -365 days & !recurring All tasks created more than a year ago that are not recurring


Update 2017-09-11: Added Combining filters, and more filters related to due dates.

What’s your favorite filter in Todoist? Tell me in the comment section!

Want to sign up for Todoist Premium?
In that case, I would appreciate if you use the below link. If you do that, I get two months Todoist Premium added to my account – with no extra cost for you. Thanks!

Sign up for Todoist Premium here


  1. I’m an avid TODOIST user. I am well acquainted with filters (or thought so) but your post taught me a few things and helped me to streamline my filters even more. Thanks!

  2. Thanks! In an other article (My Todoist GTD setup – Part 1: Projects, contexts, and actions) you mention a filter you had set up: ”Completed today”. Sounded like an excellent idea, and wanted to replicate it in my todoist. You mention the filter expression ”completed” above, but it seems that isn’t a valid search/filter argument. How did you set up the Completed today filter? /jonaz

    1. Hi Jonaz,

      Thanks for reading my blog. While I was working on this post, I noticed that my completed today filter was no longer working. My intention was to look into this but, as I was leaving for vacation on the same day I finished this post, the item slipped my mind. (I know, I should have put in Todoist) 🙂

      I have contacted Todoist support and will update this blog post when I get more information.

      Stay productive. /Bjorn

      1. Great, thanks for the feedback. Missed this reply, so I just asked the same question on another of your todoist-posts… Disregard that post, and have a great vacation. Looking forward to hearing what Todoist support says (could really use that ”boost”-filter, and seems much easier than using the Karma view of completed tasks). Thanks /jonaz

        1. The response from Todoist was a surprise. They told me that this filter was not supported and had newer had been, at least not officially. I cannot remember how I found it, but it might have been something they experimented with but never put in to production.

          1. Thanks for researching that. Too bad it’s not in use – would’ve been quite useful (which I’m sure you let them know) 🙂

  3. Meta-tip: (related to bookmarking filters)…
    Use the link of a filter to create an “übertask” by taking advantage of Markdown support.
    For example, create an End-of-Week task that is a link to a filter to find and list overdue or @reschedule tasks for a project or another label. By using the web client, you can grab the URL, then use it for the task’s URL, like this:

    [Review and reschedule reading list](


    Now make it a recurring event on your weekend… BAM!

    You’re welcome.

  4. Brilliant stuff here Bjorn, thanks. Wondering if there’s a way to filter a certain ‘level’ of task. For example, I have a task called “Grocery store” that is labelled @errands and has a date operator (either an assigned date or @3-Soon, etc.), but I don’t add those things to all the sub-task list items. I want in my weekly review to see things that don’t have a date operator, but I don’t want to see my shopping list items, because they’re already nested under a task that does. I’m a recent IQTell convert, and IQTell had a feature called ‘To-Do List’ that was brilliant for this, just a simple list feature that was basically ‘outside’ the project/task ecosystem. Any ideas for how I can replicate this in Todoist?

  5. Hi Bjorn,
    This is really great stuff you share here, but I’m looking for a way to filter/display all tasks with due dates, like an agenda. I have noticed that there are no query argument for “with due date” or “due after: X days” (which I’ve tried, but are not valid). Do you know any workaround to filter tasks like that?
    Thank you!

    1. Hi Raul,
      Thanks for your kind words.
      For Due after X days, use “due in X days” I.e. “due in 2 days” for what’s due in two days.
      For all tasks with due dates, use the same as for tasks with no due dates (“no date”), but add an exclamation mark to reverse the result. In other words, “!no date” is what you are looking for.

  6. We are using todoist companywide. Missing 2 things:

    1. An export function from filtered tasks to Excel. Not everybody is a millenial or Z generation. Our board wants still a conventional excel with all corporate tasks. How boring using todoist with your team as CEO and have to retype the whole shit in Excel for your board because only a print function is available that shows on 15-20 pages all the comments if you select that function. But really interesting are only the 2 last comments and dates for the excel – export – and my board gets a quick short Excel table or even better a google sheets one with a mirror from todoist in realtime.

    2. An admin view that allows to see every and each single task.

  7. Hi everyone, I would like to create a filter to see all my today completed tasks. I know that I can see my completed tasks in each project but I would like to see all completed tasks regardless a project. any idea?

  8. Hi Bjorn,

    I have a question and I hope you can help me.

    I use todoist to capture my work tasks and my personal tasks. In the morning, I spend some time organising both types of tasks, and then I want to work on my work tasks.

    So I created the filter “today & #work” for this. And the tasks filter beautifully.

    But my problem is this. The task order is very important to me, as I tackle the list from top to bottom one at a time. In the filtered view, Todoist doesn’t allow me to click and drag tasks so I can change their order.

    I am using the Todoist website through Google Chrome.

    Any ideas how I can click and drag to reorder tasks in filtered view?

      1. Yes, I’ve been asking this for years. They say there’s no ETA on manual sorting. I’m surprised given it is a feature in other task managers and Todoist has regular updates.

  9. Great Reference! Thanks. Maybe you could help, I am trying to build a filer to show (Today or Overdue) and !@Waiting but it does not seem to like this.

    1. Hi Russ, Thanks for reading my blog.

      You have two options for this filer:
      1. today | overdue | waiting – This will give a single list of all task matching the query.
      2. today | overdue, @waiting – This will display three lists.

      Stay productive!

  10. Any way we can create shortcuts to filters? I’ve set a default view as Next 7 days & !@subtask (filtering out duplicated subtasks) and it’s very annoying as the 7 day view window drops the filter when I click the shortcut from the main menu. Would love to know if we can customize the shortcuts! Thanks!

    1. Hi Kunal,
      Thanks for reading my blog. As far as I know, you cannot customize the standard shortcuts. You still have two options: 1. Add your filter to your favorites in Todoist. 2. In the web version, you can bookmark your filter.

      1. Thanks for your reply – shame that such an obvious feature isn’t implemented – love the tool, in any case!

  11. Thanks this is extremely helpful. Is there a way to include a wildcard? So for example if I have labels called @staff.amy @staff.paul @staff.tom could I do a filter that brings back everything with @staff.?


      1. Turns out wildcards are now implemented! Examples here from the todoist filter-page:

        @home* – Shows all tasks with any label that starts with “home”. For example, @homework and @home

        assigned to: m* smith – Shows all tasks assigned to anyone whose first name starts with an M and last name is Smith.

        #*Work – Shows all tasks from projects which name ends with “work”. For example, #Artwork, #Network, and #Work.

  12. So how would I filter bills due before certain date if the bills project is Bills(mailbox emoji). Or do I have to have them labeled #bills? Novice here.

  13. I would like to view all tasks in todoist sorted by priority. The view all filter on my phone app does this, but the one on my computer sorts by project, then by priority. I would like a filter on my computer that lists all tasks in all projects sorted only by priority, not project and then priority.

  14. Great post!

    Just adding: We can now use * wildcards in filter queries!

    Full changelog text from version 953 (2019/06/03):
    “When creating a filter query, you’ll only see the items that precisely match the keyword you enter. For example, “#work” will show you tasks in the #work project. If you want to see every project with your keyword in it, then use the * symbol, too: “#work*” will show you #work and #workplace, for example. You may have to update your filters accordingly. Apologies for any inconvenience.”

  15. Hi,
    is there a way to filter for all the tasks being due this week? I mean, not within the next 7 days, but within the next few business days, closing by friday.

  16. Hi Bjorn great blog. I am building filters. Filter is “##project name &p1 &today” so I am viewing by project, priority and due today. But I have a long list of projects and I do not want to see “Today Thu May 7 +Add task” for project if no tasks under that project with that priority. Hope this makes sense. I can send along a screen shot if it does not. Thanks you

  17. Just chiming in here with a tip, as I sort my tasks based on due date in a day/week/month system.

    Due later this week:
    (next 7 days & due before: Sunday & !due:today) | (due: Sunday)

    Due later this month, which excludes tasks listed in the week filter:
    (due before:end of month | due:end of month) & !((next 7 days & due before: Sunday & !due:today) | (due: Sunday))

    Switch Sunday to Saturday if you wish!

  18. This was a great help! Thanks!

    Is the any way to omit a list in the filter if there are no results. I have set one up for Priority Clients (all projects are Clients) so I can work on them first. But if there are not tasks due today I see the heading but no tasks. So in this case I see about 4 headings in between others. It is like this:

    #Client1 & today | overdue & assigned to: me,
    #Client2 & today | overdue & assigned to: me,
    #Client3 & today | overdue & assigned to: me,
    #Client4 & today | overdue & assigned to: me,
    #Client5 & today | overdue & assigned to: me,

    So if Clients 2 – 4 don’t have anything due I see
    Today ‧ Sat Jul 18
    List of Tasks for Client1
    Today ‧ Sat Jul 18
    Today ‧ Sat Jul 18
    Today ‧ Sat Jul 18
    Today ‧ Sat Jul 18
    List of Tasks for Client5

  19. Is there any way to use conditional logic within filters? For example: Master Filter: IF ‘Filter A’ returns any results show ‘Filter A’, ELSE show ‘Filter B’. If possible, I could daisy chain filters in priority order and always show the highest priority filter that contains tasks.

  20. Is there any way to create a filter which shows either tasks with comments or (ideally) comments containing attachments of a specific file type? I’ve found that typing in ‘jpg’ into the ‘find’ box will bring up a list of all jpg attachments (under the ‘comments’ heading of the search results) but I can see no way to make this a filter option. Thanks

  21. Glad I found your blog. It has been very helpful in getting me started w/ Todoist. One item that I can’t find anywhere – google search, Todoist help, your blog, Youtube, etc. – how do I search / filter for tasks or projects that have attachments?

  22. This is the best reference I have found – this should be on the Todoist website! Not sure if they are fixing this or there is a way around but when I filter for a subproject using ##SubProjectName it actually prints the filter element with the name i.e. ##SubProjectName with the tasks instead of just SubProjectName and the tasks. Is there a way to remove the ##? Also, by accident I found that you don’t need the double ## to filter on a subproject I got the same results using just one # and the subproject name and the bonus is it is not as unsightly with one # before the subproject name.

Say something

This site uses Akismet to reduce spam. Learn how your comment data is processed.