Search Reference
This is a reference for search conditions. See Search for the basic workflow.
Choose what to search
Use in: to limit ordinary text searches to one part of a row.
| Expression | Searches |
|---|---|
in:note project | Note text only |
level:2 | Rows at hierarchy level 2; the top level is 0 |
sort:date | Sort results by date, oldest first |
sort:date-desc | Sort results by date, newest first |
in:note changes only where the words in the query are searched. It does not narrow rows by itself, so add words to search, such as in:note project. To find rows that have notes, use has:note.
State, resources, and links
| Prefix | Values and examples | Matches |
|---|---|---|
is: | complete, incomplete, bookmarked, unbookmarked | Row state |
has: | image, sketch, file, attachment | Rows with the selected resource |
has: | tag, #, @ | Rows containing the selected tag kind |
has: | link, note, date | Rows with a link, note, or dated tag |
backlinks: | Type backlinks: and choose a row from the candidates | Rows that link to the selected row |
The backlink condition is usually easiest to create by selecting the number shown beside a row with backlinks. This opens a search for rows that link to that row. You can also type backlinks: to show candidates and choose a row from the list. See Internal Links for the visual workflow.
Exclude conditions
Put - before a word or condition to show rows that do not match it. Use NOT before parentheses to exclude a group.
| Expression | Matches |
|---|---|
-has:image | Rows without images |
-is:complete | Rows that are not complete |
-tag:work | Rows without #work or @work |
is:bookmarked -has:image | Bookmarked rows without images |
NOT (bug OR crash) | Rows containing neither bug nor crash |
To search for text that begins with -, put it in quotation marks, such as "-foo".
Tags and tag values
For ordinary tag searches, put # or @ before the tag. You can also use tag: to limit the tag kind. Use parentheses when you write a value on an @tag, and specify that value after : in Search. The tag kind and value must match; letter case does not matter. If the value contains spaces, use the parenthesized form such as @todo(every monday).
| Expression | Matches |
|---|---|
#work | #work and its child paths |
@work | @work |
tag:work | #work or @work |
tag:#work | #work and its child paths |
tag:@work | @work |
@status:done | @status(done) |
@todo(every monday) | @todo(every monday) |
When a value after : can also be read as a date or number, the search matches both. For example, @label:today matches @label(today) and an @label dated today. To match only the text, use quotation marks: @label:"today".
For a specific numeric tag, search for an exact value or an inclusive range:
| Expression | Matches |
|---|---|
@estimate:3 | @estimate(3) |
@estimate:>=3 | Values of 3 or more |
@estimate:<3 | Values below 3 |
@estimate:3..8 | Values from 3 through 8, including both ends |
Dates
There are three date searches. created: and modified: refer to the row's creation and modification dates. date: searches every dated @tag; @kind: searches only the specified @tag kind, such as @deadline:.
Use @deadline:today when you want to search only @deadline tags. Use date:today when you want to search across all dated tags, regardless of their tag names.
| Expression | Matches |
|---|---|
created:today | Rows created today |
created:7d | Rows created in the last 7 days, including today |
modified:30d | Rows modified in the last 30 days, including today |
created:this-week | Rows created this week |
created:last-month | Rows created last month |
created:2026-04-15 | Rows created on the specified date |
modified:today | Rows modified today |
date:today | Rows with any dated @tag today |
date:next-week | Rows with any dated @tag in the next calendar week |
@deadline:tomorrow | Rows whose @deadline is tomorrow |
has:date | Rows with any dated @tag |
The available relative date values are:
| Expression | Values |
|---|---|
created:, modified: | today, yesterday, Nd (for example, 1d or 7d), this-week, last-week, this-month, last-month, this-year, last-year |
date:, @kind: | today, tomorrow, yesterday, last-week, this-week, next-week, last-month, this-month, next-month, last-year, this-year, next-year |
Weeks start on Monday. 7d means the last 7 days including today, while last-week means the previous calendar week.
Date input formats can be set in Date Input. Complete ISO dates always work.
Add >, <, >=, or <= to search for dates before or after a specified date. >= and <= include the specified date; > and < exclude it. For created: and modified:, compare with today, yesterday, or a specific date.
For creation and modification dates, you can also use the directional filters created-after:, created-before:, modified-after:, and modified-before:. The -after: forms include the specified date; the -before: forms exclude it. These filters accept a single date such as today or 2026-04-01.
| Expression | Matches |
|---|---|
created-after:2026-04-01 | Rows created on or after April 1, 2026 |
created-before:2026-04-30 | Rows created before April 30, 2026 |
modified-after:2026-04-01 | Rows modified on or after April 1, 2026 |
modified-before:2026-04-30 | Rows modified before April 30, 2026 |
| Expression | Matches |
|---|---|
created:>=2026-04-01 | Rows created on or after April 1, 2026 |
modified:<today | Rows last modified before today |
date:<today | Dated @tag values before today, such as overdue items |
date:<=today | Today and earlier, including today |
date:>today | After today |
@deadline:>=2026-09-10 | September 10, 2026 and later, including that date |
@deadline:<2026-09-10 | Before September 10, 2026 |
Use .. for an inclusive range. Both endpoints are included:
| Expression | Matches |
|---|---|
date:2026-09-10..2026-09-20 | Any dated @tag from September 10 through September 20 |
@deadline:2026-09-10..2026-09-20 | @deadline values in that range |
date:9/10..9/20 | Yearless dates in the selected yearless date order |
