Quick reference guide to Todoist Filters

Todoist Filters

Note: This is just a cleaned-up / easier to read version of the official Todoist help page for Filters, I made for my own purposes. Hope that’s clear.

I have not added any of my own insights, unlike my expanded take on Todoist Due Dates & Times: Natural Language Syntax which is 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 be of interest. Cheers.


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.

no date

Shows all tasks that don’t have a due date. Useful for a daily/weekly review to make sure nothing falls through the cracks.

no time

Shows all tasks that don’t have a due time.

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: Becky Kane

Shows all tasks assigned to Becky Kane. A quick way to see what Becky’s working on.

added by: me

Shows all tasks created by you.

added by: Becky Kane

Shows all tasks created by Becky Kane.

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.

view all

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

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.


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 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

no date

Shows all tasks that don’t have a due date. Alternative: no due date

overdue

Shows all tasks that are overdue. Alternatives: over due, od

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.

due before: +4 hours

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

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)

@email

Shows all tasks with the label @email

no labels

Shows all tasks that don’t have any labels


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.

Note

If you’ve formatted your project name, you will need to include the formatting symbols in your filter query. For example, when the name of a project is “Home” it will only appear in the filter’s results if you type #Home in the query.


Filtering based on when a task was created

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


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.