Filters

Filter tasks by due date, priority, labels, assignees, and more using Vikunja's query syntax.

Filters let you narrow down your task list so you only see what matters right now. Instead of scrolling through everything, you write a short query and Vikunja shows only the matching tasks.

Common examples#

Copy any of these into a filter field to try it out:

done = falseAll undone tasks
dueDate < nowOverdue tasks
dueDate > now && dueDate < now+7dTasks due in the next 7 days
done = false && priority >= 3Undone tasks with high priority (3+)
assignees in currentUserTasks assigned to you
labels in urgentTasks with the “urgent” label
labels in urgent, logisticsTasks labeled “urgent” or “logistics”
done = false && dueDate < nowUndone overdue tasks

You can combine any of these patterns. For example, undone high-priority tasks due this week:

done = false && priority >= 3 && dueDate > now && dueDate < now+7d

Where to use filters#

An active filter applied to a view
  • Views: Add a filter to any view so it only shows matching tasks.
  • Saved filters: Create a reusable filter that appears in your sidebar and works across all your projects.
  • Dashboard: Set a saved filter to control which tasks appear on your home screen.

“Include Tasks which don’t have a value set” is on by default. A filter like assignees in sarah will also return tasks with no assignee. Disable this toggle in the filter settings if you only want tasks that have a value.

Include nulls toggle in filter settings

How to write a filter#

A filter query has three parts: a field, an operator, and a value.

priority >= 3
  • priority is the field (what you are checking)
  • >= is the operator (how to compare)
  • 3 is the value (what to compare against)

To combine conditions, use && (and) or || (or):

done = false && priority >= 3

Use parentheses to group conditions:

(priority = 1 || priority = 2) && dueDate <= now

The filter editor offers autocomplete for field names, label names, usernames, and project names as you type.

Filter editor with autocomplete suggestions

Fields#

doneWhether the task is completed (true or false)
priorityPriority level (1 to 5)
percentDoneCompletion percentage (0 to 100)
dueDateThe due date
startDateThe start date
endDateThe end date
doneAtWhen the task was completed
assigneesThe assignees
labelsThe labels on the task
projectThe project (only in saved filters)
remindersThe reminders set on the task
createdWhen the task was created
updatedWhen the task was last updated

Strings with spaces or special characters must be wrapped in quotes: "2024-03-11", "waiting on others".

Operators#

=Equal to
!=Not equal to
>Greater than
>=Greater than or equal to
<Less than
<=Less than or equal to
likeMatches a pattern (use % as wildcard)
inMatches any value in a comma-separated list
not inDoes not match any value in a comma-separated list

Relative dates#

Instead of typing a fixed date, use now so your filter stays current automatically.

Add or subtract time from now using units like d (days), w (weeks), or M (months):

nowRight now
now+1dTomorrow
now-1dYesterday
now+7dOne week from now
now+1MOne month from now

Use /d to round down to the start of the day, which is useful for “today” or “this week” filters:

now/dStart of today
now+7d/dStart of the day, 7 days from now
now Right now (Oct 30, 2024, 14:26:12)
now+24h In 24h (Oct 31, 2024, 14:26:12)
now/d Today at 00:00 (Oct 30, 2024, 00:00:00)
now/w The beginning of this week at 00:00 (Oct 27, 2024, 00:00:00)
now/w+1w The end of this week (Nov 3, 2024, 00:00:00)
now+30d In 30 days (Nov 29, 2024, 00:00:00)
Oct 30, 2024, 14:26:12||+1M/d Oct 30, 2024, 14:26:12 plus one month at 00:00 of that day (Nov 30, 2024, 00:00:00)

All time units#

sSeconds
mMinutes
hHours
dDays
wWeeks
MMonths
yYears

API reference#

If you use filters through the Vikunja API rather than the web UI, see the Filter API Reference for field names, query parameters, and other differences.