17 Gmail Search Operators That Make Inbox Cleanup Fast

Published August 20, 2026 4 min read

Magnifying glass over email rows, representing a precise inbox query

The search bar above your inbox is the most powerful cleanup tool Google ships, and almost nobody uses more than from:. The operators below turn a vague “my inbox is a mess” into a precise set of messages you can select and delete in two clicks. Here is the Gmail search operators list that matters for cleanup, with ready-to-run combinations.

The cleanup operators worth memorizing

OperatorWhat it matchesExample
from:Sender address or namefrom:newsletter@shop.com
to:Recipientto:me
subject:Words in the subject linesubject:(order confirmation)
older_than:Age, in d, m or yolder_than:1y
newer_than:Recent mail onlynewer_than:30d
before: / after:Exact datesbefore:2023/01/01
larger:Message sizelarger:10M
smaller:Message size, upper boundsmaller:1M
has:attachmentAny attachmenthas:attachment larger:5M
filename:Attachment name or typefilename:pdf
category:Inbox tabscategory:promotions
label:Your labelslabel:receipts
list:Mailing-list maillist:*
is:Stateis:unread, is:starred
in:Locationin:anywhere, in:spam
has:userlabelsAnything you labeledhas:userlabels
-Exclude-from:mybank.com

Two more things to know: a space between operators means AND, OR (uppercase) means either, and parentheses group terms - category:promotions (older_than:1y OR larger:5M).

Prefer a form? The sliders icon in the search bar opens Gmail advanced search, which builds the same query from From, Subject, Size and Date within fields.

How to search Gmail by date

The Gmail search operators older_than and newer_than are relative to today, so newer_than:7d always means the last week. For fixed ranges, use after: and before: in year/month/day form - after:2024/01/01 before:2024/07/01 covers January through June 2024.

The queries that clear the most

Run these, tick the checkbox above the message list, click the Gmail Select all conversations that match this search link, then delete.

Old marketing mail - the Gmail search operator category:promotions plus an age limit:

category:promotions older_than:1y

Social notifications nobody reads

category:social older_than:6m

The storage hogs - the Gmail search operator larger:10M with an age limit:

larger:10M older_than:1y

Automated mail from no-reply addresses

from:(noreply OR no-reply OR donotreply) older_than:1y

Promotions you never opened

is:unread category:promotions

That is also how to filter unread emails in Gmail generally: is:unread alone lists everything unopened.

Everything from one sender - the Gmail search operator in:anywhere also reaches archived mail, Spam and Trash:

in:anywhere from:sender@example.com

Newsletters, precisely

list:* older_than:6m

Protect important mail with the Gmail search operators subject: and label:

Before a big delete, find what must survive and label it:

Financial records

subject:(invoice OR receipt OR statement OR "order confirmation")

Account security trails

subject:(password OR "verification code" OR "sign-in")

Anything with a real attachment you may need

has:attachment filename:(pdf OR docx OR xlsx) -category:promotions

Once each set has a label, the Gmail search operators label: and -label: become your safety net. Exclude that label from every bulk delete: category:promotions older_than:1y -label:Records.

Finding subscriptions specifically

Three approaches, in order of accuracy:

  1. list:* - matches messages carrying List-Id, which is what bulk mailing systems add. Cleanest signal available.
  2. category:promotions - Google’s own classification. Good coverage, some misses.
  3. unsubscribe - matches the word anywhere in the message. Broadest, noisiest.

Run all three and note the counts. The gap between list:* and category:promotions is usually the mail that never got categorized, and it is often the most annoying part of the inbox.

You may also see a Gmail search operator has:unsubscribe recommended online. It is not on Google’s published operator list, so do not rely on it for a bulk delete; list:* is the documented way to reach the same mail.

From queries to a sender-by-sender view

Operators are excellent at answering “which messages?” and poor at answering “who is doing this to me?” - for that you would need to run one query per sender and record the counts by hand.

Mass Unsubscribe Gmail does that pass automatically: it reads sender addresses, subject lines and unsubscribe headers across the whole mailbox and returns one row per sender with its message count, so you can unsubscribe and delete by sender rather than by query.

The view a query cannot give you

Every sender, ranked by volume, with one-click unsubscribe, block and delete for as many of them as you like.

Add to Chrome - it's free

Save the queries you repeat

There is no button for saving a query, but two workarounds help. The first is how to create a filter in Gmail from any query: run it, open the sliders icon, click Create filter and choose Apply the label. A filter also catches future mail, so the label keeps filling itself. The second is a bookmark: the results URL ends in #search/ plus your query, so a bookmarked category:promotions older_than:6m turns the quarterly cleanup into one click.

Pair these operators with the select-all technique in our guide on how to mass delete emails on Gmail, and with the storage checklist in Gmail storage full - together they clear more in fifteen minutes than an afternoon of manual sorting.

Frequently asked questions

Which operator finds emails older than a year?

The Gmail search operator older_than:1y. It accepts d, m and y units - 30d, 6m or 2y all work - and newer_than does the same for recent mail.

How do I find emails with an unsubscribe link?

Use list:* to find mail sent through a mailing-list system, which is the most accurate signal. Typing the plain word unsubscribe also works but returns more false positives.

Can I combine several operators in one query?

Yes. Operators combine with a space for AND, OR for either, a minus sign to exclude, and parentheses for grouping - for example category:promotions older_than:1y -from:mybank.com.

How do I filter by attachment size?

Use larger:10M or smaller:1M. Combining size with age, such as larger:5M older_than:1y, is the single most effective query for freeing up Google storage.