Skip to main content

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 sidebar, so the perspective is always one tap away and stays up to date as your tasks change.

The same engine powers Search, Search Presets, the Focus Filter, and Smart Lists.

Smart List rule builder

To open search on iPhone, pull down on the task list, or tap the search icon in the sort bar / toolbar. On iPad, the search field is always reachable from the sort bar at the top of the Tasks pane.

Two Search Modes — Full Text and Soundex

  • Full Text Search — precise word matching with wildcards and capital OR. Use this when you want exact control over the results.
  • Soundex Search — sound-alike matching. It tolerates common spelling mistakes, missing letters, and pronunciation variants.
If you typed thisSoundex can still find
plumverplumber
StevenStephen
alexnderAlexander
CatherineKathryn

Soundex is on by default and runs against task titles, notes, tags, dates, and other fields. To use Full Text wildcards and Boolean operators effectively, toggle Soundex off under the search options gear.

Full Text Search Operators

With Soundex off:

PatternBehaviourExample
word1 word2Implicit AND — matches both words anywhere in the tasknew job
word1 OR word2OR (capital OR) — matches either wordCall OR new
word -word2Excludes a wordnew job -find
word*Wildcard — matches words starting with the prefixnew* matches new, newer, newest
*Matches tasks with searchable textUse alongside keywords when you want a broad text match plus structured filters
!wordExcludes a word (alternate syntax)!work

Worked examples (using 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 jobFind a new job, Call: Mum, tell about my new job
  • new job -findCall: Mum, tell about my new job
  • a dayGet a haircut one day, Buy a new car some day
  • Call OR newBuy a new car some day, Find a new job, Call: Mum, tell about my new job, Call: Tim

The Built-In Keywords

2Do recognises six reserved keywords. Each turns the search field into a structured filter against a specific dimension of your tasks. They can be combined freely.

type: — Filter by Task Property

The most expressive keyword. Accepts a list of presets that filter by a specific task property. Use AND, OR, brackets, and ! to combine:

type: hiprio
type: (proj OR chck) AND hiprio AND !repeat
type: ((starred OR hiprio) AND due) OR today

type: Presets — Task Structure

PresetMatches
alltasksAny task — flat view
taskPlain Tasks only
subtasksSub-tasks only
projProjects
chckChecklists
emptyprojProjects with no active sub-tasks
emptychckChecklists with no active sub-tasks

type: Presets — Actions

PresetMatches
actionAny Action attached
callCall action
smsMessage action
emailMail action
browseBrowse (URL) action
visitVisit (Address) action
googleGoogle (web search) action
capturedmailTasks captured via Email-to-2Do

type: Presets — Attachments and Notes

PresetMatches
audioAudio attachments
pictPicture attachments
noteWith notes

type: Presets — Priority

PresetMatches
prioAny priority
noprioWithout priority
hiprioHigh priority
medprioMedium priority
lowprioLow priority

type: Presets — Status

PresetMatches
starredStarred
alarmsWith Alerts
repeatRecurring
durationWith a duration
inprogressStart or duration window currently active
pausedBelongs to a paused tag

type: Presets — Tags and Locations

PresetMatches
anytagAt least one tag
notagNo tag
anylocationAt least one location
nolocationNo location

type: Presets — Dates

PresetMatches
due / nodueHas / lacks a due date
start / nostartHas / lacks a start date
todayStart or due is today
duetodayDue today
starttodayStarts today
tomorrowStart or due tomorrow
duetomorrowDue tomorrow
starttomorrowStarts tomorrow
thisweekStart or due this week
duethisweekDue this week
startthisweekStarts this week
overduePast-due
tasksoverdueOverdue, excluding lists hidden from All
donetodayCompleted today
doneyesterdayCompleted yesterday
donethisweekCompleted this week

tags: — Filter by Tag

Comma-separated lists are OR by default. Use AND, OR, brackets, ! for finer control.

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

Same model as tags:.

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

Keywords can appear in any order. If you mix in a free-text search term, the free-text term must come first:

plumber type: starred tags: builders groups: home

Multiple keyword sections combine with implicit AND:

type: overdue tags: home OR school
tags: someday type: anyprio OR starred groups: shopping
tags: !work type: (hiprio AND thisweek) OR starred groups: !work
note

You cannot OR across different keyword types in a single rule. To express that, create two separate Smart Lists.

Date Filters Beyond type:

The search field's calendar button opens a date filter that runs alongside any other terms. Three options:

  • No Due Date — only tasks with no due date (perfect for a Someday Smart List).
  • Date Range — fixed From and To dates.
  • Dynamic RangeNext N days / weeks / months / years — moves with the calendar.

The Rule Builder

For complex multi-condition filters, use the visual Search Presets builder in the search options sheet. Each clause matches one task property — Title, Notes, List, Tag, Priority, Due Date, Start Date, Location, Action, Has Alert, Repeating, Star, Completed, Paused, Scheduled. Combine clauses with all (AND) or any (OR), and nest groups for finer expressions.

Saving a Filter as a Smart List

Once your search returns the perspective you want, tap Save below the search field. The new Smart List joins the sidebar.

Smart List in the sidebar

A Smart List filters tasks within whichever list was active when you created it. To filter across everything, switch to the All Focus List before searching.

The fastest path on iOS:

  1. Tap into the list you want to filter — All, Home, a specific list, etc.
  2. Swipe the task list left to reveal the Tags panel and tap the tag(s) you want to filter by.
  3. Tap Search at the top.
  4. Tap the calendar button to add a date filter (Date range / Dynamic / No Due Date).
  5. Tap Done — the task list now reflects the combined filter.
  6. Tap Save below the search field.

Updating or Editing a Smart List

Long-press a Smart List in the sidebar → Edit Smart List. Adjust the rule, save, and the perspective updates immediately.

Hiding Completed Tasks from a Smart List

Long-press the Smart List in the sidebar → toggle Hide Completed Tasks to suppress completed entries. Toggle the same way to re-show.

Reusable Smart List Recipes

Smart ListRule
Somedaysearch → No Due Date → Save (filter on All)
Tomorrowtype: duetomorrow (filter on All)
Next 3 Dayssearch → Dynamic Range → 3 days → Save (filter on All)
Tasks With Any Tagtype: anytag
Untaggedtype: notag
High-priority Todaytype: hiprio AND today
Errands Nearbytype: anylocation AND visit
Recently Capturedcreated: 2d

Tips

tip

For complex multi-condition rules, build the rule visually with Search Presets in the search options sheet — then save the result.

tip

Soundex is brilliant for everyday "I remember the name vaguely" searches. Toggle it off only when you need exact OR, exclusion, or wildcard searches.

tip

A Smart List is just a perspective. Deleting one never deletes its tasks. Experiment freely.