Smart Lists, Smart Filters, and Search
A Smart Filter is anything you can describe in 2Do's search — a keyword, a tag query, a date range, a combination of all of those. A Smart List is a Smart Filter that's been saved as a permanent entry in the navigation drawer, so the perspective is always one tap away and stays up to date as your tasks change.
The same underlying engine powers Search, Search Presets, the Focus Filter, and Smart Lists — so anything you can describe with one of them, you can use with the others.
Reaching Search
Open search by tapping the search icon in the top toolbar, or pull down on the task list.
Two Search Modes — Full Text and Soundex
- Full Text Search — precise word matching with wildcards and capital
OR. Reach for it when you want exact control over the results. - Soundex Search — sound-alike matching. It quietly tolerates common spelling mistakes, missing letters, and pronunciation variants.
| If you typed this | Soundex can still find |
|---|---|
plumver | plumber |
Steven | Stephen |
alexnder | Alexander |
Catherine | Kathryn |
Soundex is on by default. Switch it off in the search options when you want to use exact OR, exclusion, and wildcard searches.
Full Text Search Operators
| Pattern | Behaviour | Example |
|---|---|---|
word1 word2 | Implicit AND — both words must appear somewhere in the task | new job |
word1 OR word2 | OR (capital OR) — either word will match | Call OR new |
word -word2 | Excludes a word | new job -find |
word* | Wildcard — matches words starting with the prefix | new* matches new, newer, newest |
* | Matches tasks with searchable text | Useful alongside keywords when you want a broad text match plus structured filters |
!word | Excludes a word (alternate syntax) | !work |
Worked examples, using these sample tasks — Get a haircut one day, Buy a new car some day, Find a new job, Call: Mum, tell about my new job, Call: Tim:
new job→ Find a new job, Call: Mum, tell about my new jobnew job -find→ Call: Mum, tell about my new joba day→ Get a haircut one day, Buy a new car some dayCall OR new→ Buy a new car some day, Find a new job, Call: Mum, tell about my new job, Call: Tim
The Built-In Keywords
The following six reserved keywords turn the search field into a structured filter. They can be combined freely.
type: — Filter by Task Property
type: hiprio
type: (proj OR chck) AND hiprio AND !repeat
type: ((starred OR hiprio) AND due) OR today
Task Structure
| Preset | Matches |
|---|---|
alltasks | Any task — flat |
task | Plain Tasks only |
subtasks | Sub-tasks only |
proj | Projects |
chck | Checklists |
emptyproj | Projects with no active sub-tasks |
emptychck | Checklists with no active sub-tasks |
Actions
| Preset | Matches |
|---|---|
action | Any Action |
call | Call action |
sms | Message action |
email | Mail action |
browse | Browse (URL) action |
visit | Visit (Address) action |
google | Google (search) action |
Attachments / Notes
| Preset | Matches |
|---|---|
audio | Audio attachment |
pict | Picture attachment |
note | With notes |
Priority
prio, noprio, hiprio, medprio, lowprio.
Status
starred, alarms, repeat, duration, inprogress, paused.
Tags / Locations
anytag, notag, anylocation, nolocation.
Dates
due, nodue, start, nostart, today, duetoday, starttoday, tomorrow, duetomorrow, starttomorrow, thisweek, duethisweek, startthisweek, overdue, tasksoverdue, donetoday, doneyesterday, donethisweek.
tags: — Filter by Tag
tags: home, work # = tags: home OR work
tags: (home OR work) AND !play
tags: (call OR mail) AND work
tags: ? # any tag set
tags: ~ # no tag set
locations: — Filter by Location
locations: home, drycleaners
locations: (home OR work) AND !playground
locations: ? # any location set
locations: ~ # no location set
groups: — Filter by List Group
groups: projects
groups: home, work
groups: !home
modified: and created: — Filter by Recency
Time units: mins, h, d, w, m, y. Prefix < or > for less / more than.
modified: 2d # last 2 days
modified: > 2d # more than 2 days ago
created: 2h # last 2 hours
Combining Keywords
plumber type: starred tags: builders groups: home
type: overdue tags: home OR school
tags: someday type: anyprio OR starred groups: shopping
tags: !work type: (hiprio AND thisweek) OR starred groups: !work
You cannot OR across different keyword types in a single rule. Create two Smart Lists if you need that.
Date Filters
The search field's calendar button opens a date filter alongside any other terms:
- No Due Date — perfect for a Someday Smart List.
- Date Range — fixed From / To dates.
- Dynamic Range — Next N days / weeks / months / years.
The Rule Builder
For complex multi-condition filters, use the visual Search Presets builder in the search options panel. Each clause matches one task property; combine clauses with all (AND) or any (OR), and nest groups for finer expressions.
Saving a Filter as a Smart List
Tap Save in the search bar. The new Smart List joins the navigation drawer. A Smart List filters within whichever list was active when you created it — switch to All first to span every list.
You can also start from scratch — open the drawer → [+] → New Smart List and build the rule directly.
Updating or Editing a Smart List
Long-press the Smart List in the drawer → Edit Smart List. Adjust the rule and save.
Hiding Completed Tasks
Long-press the Smart List → Hide Completed Tasks.
Reusable Smart List Recipes
| Smart List | Rule |
|---|---|
| Someday | search → No Due Date → Save (on All) |
| Tomorrow | type: duetomorrow |
| Next 3 Days | Dynamic Range → 3 days |
| Tasks With Any Tag | type: anytag |
| Untagged | type: notag |
| High-priority Today | type: hiprio AND today |
| Errands Nearby | type: anylocation AND visit |
Tips
Build complex rules with Search Presets in the search options panel, then save the result.