Todoist: A comprehensive guide to filters



Exclusive Todoist Ambassador offer - 2 months of Pro for free - If you are currently on the free tier of Todoist, or just looking to start out with the app, you can now try the Pro feature set, free for 2 months, via this link.

The new calendar layouts in Todoist are only available to Pro customers, so using this link is a great opportunity to give them a spin!

To initiate the trial, click on the link above, and then either sign up or log in to your account. Step by step instructions on how to redeem the discount can be found on the landing page.

Enjoy!

Todoist Filters

Last updated: 25 February 2025 - After running this page for a good number of years, Todoist has finally updated its help pages for both Dates and Filters. I'm happy to say that the folks at Todoist kindly reached out to me about incorporating some of the additional content found here into their own help pages to which I happily agreed and have been credited.

The new and improved official doc for Filters can be found here. I'll leave this page available online as I know many have it bookmarked for reference.

And finally, if you are looking to up your productivity game you may be interested in these excellent services with the following benefits when signing up via the links below.


Overview

To be totally transparent, I've used the official Todoist help page for Filters, as the backbone for this guide. I've streamlined it a bit, made it easier to read and I've also added quite a few tips and tricks to make things a little clearer for some of the Free Todoist users that may be using Filters for the first time, now that up to 3 Filter queries are included within that plan.

If you copy and paste the code block below into a new task in your Todoist Inbox, the uncompletable task will act as a handy Markdown link to this page which is then available from all your devices for quick reference.

* __[Reference Sheet - Todoist Filters](https://www.leightonprice.com/todoist/filters.html)__

It will then look like this in Todoist….

Todoist Inbox

In addition to Filters, my expanded take on Todoist Due Dates & Times: Natural Language Syntax is also well worth checking out if you haven't done so already.

Finally, at the bottom of my homepage, you'll find a section listing some of the tools I've produced to enhance the Todoist experience which may also be of interest. Cheers.

Buy Me A Coffee


The key operators powering Filters

Constructing Todoist's Filters can seem quite intimidating, even when following the official Support guides. There is no UI to create them, or any live-feedback when constructing them. However, once you get a grip on the syntax/operators/logic used to build the text strings, things tend to fall into place. Eventually!

You'll see the specific operator symbols, detailed below, featuring throughout the examples that follow.

|
The 'pipe' symbol acts as OR

&
The ampersand symbol acts as AND

!
The exclamation mark acts as NOT. As you'll see below, this comes in extremely handy when used in conjunction with some of the filter commands, thus creating the opposite effect

()
Parentheses are used to create more complex/conditional queries. See the first General example below

,
The comma is used to 'chain,' multiple filter queries together. This has the effect of creating clear 'sections,' to your filter outputs. Not to be confused with Todoist's Project Sections

#
This is not an operator per se, but is the means of indicating a project i.e., #Work

##
By extension, the double hashtag is used to show all tasks in a parent project AND any sub-projects that may be listed within it i.e., ##Work


General examples

(today | overdue) & #Work

Shows all tasks that are overdue or due today that are in the "Work" project. Open this filter first thing when you get to work to get a clear overview of what you need to get done

7 days & @waiting

Shows all tasks that are due in the next 7 days and are labelled @waiting. Good for proactively identifying roadblocks in your week

created before: -365 days

Shows all tasks created more than 365 days ago. Use this filter to find the tasks that have been gathering dust on your to-do list

assigned by: me

Shows all tasks you assigned to others. Handy for following up on delegated tasks

assigned to: Leighton Price

Shows all tasks assigned to Leighton Price. A quick way to see what Leighton's working on

added by: me

Shows all tasks created by you

added by: Leighton Price

Shows all tasks created by Leighton Price

shared & !assigned

Shows all tasks in shared projects that haven't been assigned to anyone. Another good filter to make sure every task is accounted for

subtask

Shows all sub-tasks

!subtask

Shows all parent tasks

Note - It's not possible to filter for parent tasks that have subtasks associated with them. So you can isolate only subtasks with subtask or tasks that are not subtasks with !subtask. There is currently no other logic over and above that

uncompletable

Show all uncompletable tasks if you use them

view all

Shows all tasks. An easy way to get a list of all tasks in every project


Filtering based on due dates

Jan 3

Shows all tasks due on that date. For example: May 5, 05/16, August 8, tomorrow, tod, in 10 days, Sunday, Feb 10 2020

due before: May 5

Shows all tasks that are due before that date. Examples: due before: August 10, due before: 08/13, due before: 6pm

due before: next week

Shows all tasks that are due this week, up to and including Sunday

due before: sat

Shows all tasks with a due date in the current working week

due after: sunday & due before: 8 days after sunday

Shows all tasks due next week

due before: first day

Will return all tasks due within the current calendar month

due after: last day & due before: 4 days after 1 month after last day

Shows all tasks due next month

Note - Due to the way Todoist shifts only the month number and is not cognisant of the total days in the month following the current month (last day), we have to use "4 days after" to cover scenarios such as February followed by March. So, yes, not perfect, and Todoist really shouldn't make the quest for next month this hard

Hat tip to this Redditor for the excellent work in cracking the next week/month conundrum

due after: June 20

Shows all tasks that are due after that date. Examples: due after: May 16, due after*: 09/23, *due after: in 3 days

due: yesterday, today

This will give you a filter view, restricting those tasks appearing in the overdue "section," to just those that were due yesterday but you didn't complete, along with today's task listed below.

due: +2 day

All tasks due the day after tomorrow

no date

Shows all tasks that have no due date associated with them. Alternative: no due date

!no date

All tasks with a due date assigned to them

!no date & !no time

All tasks with a due date AND time assigned to them

overdue

Shows all tasks that are overdue. Alternatives: over due, od. Note that tasks only become overdue on the next calendar day after the due date

overdue & !no time, today & !no time

Focus on all tasks that are overdue and have had a specific time assigned to them along with all tasks due today, but only with times

#Inbox & no date, All & !#Inbox & !no date

Tasks in your Inbox without a date, followed by a separate 'section' with all your tasks in Todoist that have due dates set, but are not in your Inbox

5 days

Shows all tasks due within the next 5 days. Alternative: next 5 days

recurring

Shows all tasks that have a recurring due date

!recurring

All tasks that either have a non-recurring due date or no due date at all assigned to them

no time & !recurring

All tasks with a due date (no time assigned) and are not recurring

due before: +4 hours

Shows all tasks due within the next four hours and all overdue tasks

due before: +8 hours & !overdue

Shows all tasks due within the next 8 hours, but excludes all tasks that are overdue. A handy filter to see what's planned for the next 8 hours

today & due before: +0 hours

Get a view of all tasks with a due time and due today that are overdue, relative to the current time, today

Quick tip

You can write the date in any of these ways:


Filtering based on priority level

p1

Shows all tasks with the priority level 1

No priority

Shows all tasks with no priority level (a.k.a. p4)

!No priority

Shows all tasks with a priority level of either p1, p2 or p3 assigned

@email

Shows all tasks with the label @email

no labels

Shows all tasks that don't have any labels

!no labels

Shows all tasks with labels assigned


Filtering based on project, sub-project and section

##Work

Shows all the tasks in the #Work project and its sub-projects

##School & !#Science

Shows all the tasks in the #School project and its sub-projects but excludes the #Science project

/Meetings

Shows all tasks belonging to sections titled "Meetings", across all
projects

!/*

All tasks in your Todoist account that are not assigned to sections

!/* & !#Inbox

As above, but don't include your Inbox in the results, giving you sectionless tasks only in the projects you've created


Teams & Workspaces

In early 2024, Todoist introduced the Teams capabilities, centred on a shared space to organise working together.

Workspaces are the collaborative environments within Todoist and can be included/excluded in filter queries, just like the other examples highlighted on this page. Some examples..

workspace: Acme Co

See all tasks in the Acme Co workspace

!workspace: Acme Co

Exclude all tasks in the Acme Co workspace from query results

(workspace: Acme Co | workspace: Contractors)

See all tasks from across the Acme Co and Contractors workspaces


Filtering based on when a task was created

created: today

This is handy for quickly checking on everything you've added to Todoist today that's not yet completed. If you add this filter to your favorites it's easy to get to for a quick review

created: Jan 3

Shows all tasks created on Jan 3

created before: -365 days

Shows all tasks created more than 365 days ago

created after: -365 days

Shows all tasks created within the last 365 days


Filtering based on keyword(s)

search: email

Shows all tasks that contain the word email

search: research

Shows all tasks that contain the word research

search: http

Find all tasks that contain web links

search: http & search:*

List all uncompletable tasks that contain web links. Handy for any identifying any reference links you may have added at the top of your projects

!search:~

Remember it's possible to do a "not" search by using the exclamation mark. So, if you use a particular character as a naming convention in your tasks that you are unlikely to use in any other scenario, here, I've used ~, you can filter them out from your results. Warning - be careful that the symbols don't clash with other uses in Todoist, such as []() being used for Markdown links, for example.


Combining queries to create even more powerful filters

Today & @email

Shows all tasks that are due today and are also labeled @email (& can be read as "and")

@work | @office

Shows all tasks that are labelled either @work or @office ( | can be read as "or")

(today | overdue) & #Work

Shows all tasks that are either due today or are overdue and are also in the "Work" project (enclose parts of your query with "()" to create more complex filters)

!assigned

Shows all tasks that are not assigned to anyone (! can be read as "not")

Today & !#Work

Shows all tasks that are due today but excludes tasks in the "Work" project

#Homework & tomorrow & !@science

Shows all tasks that are due tomorrow in the "Homework" project but excludes tasks with the @science label


Using wildcards in filters

To filter for several items with similar characters, you can use a wildcard by placing an asterisk "*" in your search term. For example, the filter query *@ball will pull up a list of all tasks that have a label which ends with the word "ball", like @baseball and @football

@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

/Work*

Shows all tasks from sections that have the word "Work" in the title. For example, /Work Meetings, /Work Admin, and /Work Calls


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, p1 & overdue , p4 & today will show two task lists, one for the query p1 & overdue and another for p4 & today


Go to www.leightonprice.com

Ambassador