Skip to content
dododonedone

The filter language

Filters are queries over your tasks. The grammar is Todoist's, so its docs and your habits carry over. Every word works in English and in Danish, whatever language your app is in.

The basics

A filter is made of words joined by operators. Words are not case sensitive, and extra spaces do not matter.

SyntaxMeaning
&Both sides must match
|Either side matches
!Turns the next part around
( )Groups a part, so it is worked out first
,Splits the results into sections, one per part

Without parentheses, ! binds tightest, then &, then |. So today | tomorrow & p1 means today | (tomorrow & p1).

Words

Both columns always work. Your app's language only decides which ones the app suggests.

EnglishDanishMatches tasks that
todayi dagare due today
tomorrowi morgenare due tomorrow
yesterdayi gårwere due yesterday
overdueforfaldneforsinketare due before today, or today at a time that has passed
N daysnext N daysN dagenæste N dageare due from today through the next N days, so “7 days” is today and the 6 days after
no dateingen datohave no due date
no timeingen tidhave a due date without a time
recurringgentagnerepeat
date:due:dato:are due on that date
date before:due before:dato før:are due before that date (or time)
date after:due after:dato efter:are due after that date (or time)
created:oprettet:were created on that date
created before:oprettet før:were created before that date
created after:oprettet efter:were created after that date
deadline before:deadline før:have a deadline before that date
deadline after:deadline efter:have a deadline after that date
no deadlineingen deadlinehave no deadline
no priorityingen prioritethave priority 4 (no priority)
subtaskunderopgaveare subtasks
assignedtildeltare assigned to someone
no assigneeikke tildeltare assigned to no one
assigned to:tildelt til:are assigned to that person: me, others, a name or an email
assigned by:tildelt af:were assigned by that person (not supported yet)
no labelsingen etiketterhave no labels
search:søg:contain that text in the title or description
view allallvis allealleare open (every task)

Priorities

p1, p2, p3 and p4 match tasks with that priority. p1 is the most urgent; p4 is the same as no priority.

Projects, sections, labels and people

SyntaxMeaning
#WorkTasks in that project
##WorkTasks in that project and every project inside it
/MeetingsTasks in a section with that name, in any project
@callTasks with that label
#Client*A star stands for any run of characters, anywhere in a name

Names match the whole name, not part of it, and ignore case. Names may contain spaces. #Inbox and #Indbakke always mean your Inbox, whatever it is called.

Dates in filters

The words after date:, due before:, due after:, created and deadline take a date. These always work:

  • 2026-10-202026-10-20 14:00a date, with or without a time
  • +3 days-2 daysin 3 days3 days agorelative days, forwards and back
  • todaytomorrowyesterdaynext weektoday, tomorrow, yesterday and next week (the start of next week)
  • Anything else goes through the same date parser as quick add, so “next friday” and “på fredag” work too.
  • before and after are strict. When both sides have a time, the time counts too.
  • A date nobody understands matches nothing, so a typo shows an empty list rather than the wrong tasks.

Examples

FilterShows
today | overdueEverything due today, and everything overdue
##Work & p1Priority 1 tasks in Work or any project inside it
@call & 7 daysTasks labelled call that are due in the next 7 days
no date & !#InboxUndated tasks outside the Inbox
assigned to: me & overdueTasks assigned to you that are overdue
#Work & /MeetingsTasks in a Meetings section of the Work project
overdue, today, 7 days & !todayThree sections: overdue, today, and the rest of the week
search: emailTasks that mention email
deadline before: next weekTasks with a deadline before next week
no date & created before: -30 daysUndated tasks created more than 30 days ago
(today | tomorrow) & p1 & !#HomeToday or tomorrow, and priority 1, outside the Home project
#Client*Tasks in any project whose name starts with Client

How results look

  • Only open tasks match. Completed and deleted tasks never show up, so !today will not list what you finished.
  • Results are sorted by due date (undated last), then all-day before timed, then priority, then your own order.
  • A comma at the top level makes one section per part, in the order you wrote them.

When a filter does not parse

The app says what went wrong and where. The usual suspects:

ExampleMeaning
today tomorrowTwo words with nothing between them, like “today tomorrow”. Add & or |.
(today | overdueA parenthesis that is never closed, or closed once too often.
(today, tomorrow)A comma inside parentheses. Commas only split the whole filter.
todaysA word the language does not know, like “todays” or “p5”.
today & @A # / or @ with no name after it.